hackage-server icon indicating copy to clipboard operation
hackage-server copied to clipboard

Request thread for libs on Hackage Docbuilder

Open chrisdone opened this issue 7 years ago • 12 comments

I have a build error

screenshot 2018-03-24 10 04 16

for haddock docs on a package. That links to here:

screenshot 2018-03-24 10 04 53

I know how to fix the build (install freetds-dev on Linux), but on the web site, it doesn't say how if ever that will be rectified, who to contact, if anyone, etc. The homepage has a reporting problems section:

screenshot 2018-03-24 10 06 09

But it's not clear to me whether I should report it to GitHub or send an email or do nothing.

In the meantime, I can upload my own docs, which I know because I've learned that from being around the community, and at the bottom of "Uploads" there's a sample bash script:

screenshot 2018-03-24 10 12 28

There is a Stack script here too.

I feel like this whole process could be a bit smoother. I can open a PR for "what to do next" if someone can tell me what the flow should be. 👍

chrisdone avatar Mar 24 '18 10:03 chrisdone

This is the relevant ticket that captures that we don't have a good process for adding libs to the docbuilder box: https://github.com/haskell/hackage-server/issues/595

An issue is we obviously can't install all libs someone would need to link against. So we need some criteria. Perhaps "can be installed with a single apt-get on ubuntu"?

Maybe a rolling issue on the tracker that the frontpage linked to would be appropriate? Or from the build-reports page itself, which would be less noisy. (We could also link to manual doc upload instructions there I guess?).

(in the meantime, I added freetds-dev to the box, but since the docs were already uploaded, the package won't build again until the next release).

gbaz avatar Mar 24 '18 14:03 gbaz

I got a similar problem and I found the info in this ticket useful, so I'll include my details here rather than opening a new ticket (hope that's ok).

When trying to build the docs for quickcheck-state-machine the logs on Hackage say:

Failed to install pretty-show-1.9.5
Build log ( /home/builder/.cabal/logs/ghc-8.6.3/pretty-show-1.9.5-4s9IVBWSe01IF3L4DDRCg8.log ):
cabal: Entering directory '/tmp/cabal-tmp-26645/pretty-show-1.9.5'
Configuring pretty-show-1.9.5...
cabal: The program 'happy' is required but it could not be found.

I guess apt-get installing happy on the docbuilder box would solve this?

stevana avatar Jan 07 '19 10:01 stevana

@stevana that might be indeed a reasonable short-term workaround; but the actual problem is that the doc-builder currently still uses v1-build which isn't capable of auto-install build-tool dependencies such as happy (unlike matrix.hackage.haskell.org which uses v2-build and doesn't suffer from this issue).

Oh btw, please take a look at https://matrix.hackage.haskell.org/package/quickcheck-state-machine as it appears like quickcheck-state-machine has inaccurate version bounds which would benefit alot from being made more accurate via metadata revisions.

hvr avatar Jan 07 '19 13:01 hvr

@hvr So the solution here is to manually upload the docs and wait for doc-builder to use v2-build?

stevana avatar Jan 07 '19 14:01 stevana

For now I've added happy and alex to the new buildbox. This thread reminds me that there are probably other libs we added to the old buildbox that are no longer available either.

gbaz avatar Jan 08 '19 19:01 gbaz

@gbaz Thanks! How can I rerun the build though? I tried to queue a build via matrix.hackage using my Hackage credentials but it didn't work.

stevana avatar Jan 10 '19 08:01 stevana

I cleared it from the failed queue so it should try to run again. We'll see how it goes.

gbaz avatar Jan 10 '19 22:01 gbaz

Thank you, that worked!

stevana avatar Jan 11 '19 07:01 stevana

I am not sure if this ticket is the right place, neither Hackage's home page nor #595 gives me a hint where to put this request: A few of my packages need additional libraries installed, otherwise doc building fails, see e.g. http://hackage.haskell.org/package/OpenGLRaw. Note that this used to work, but somehow it doesn't nowadays (uninstalled libraries? cabal changes?). What's missing:

  • freeglut3-dev
  • libopenal-dev
  • libalut-dev

svenpanne avatar Jan 21 '19 07:01 svenpanne

@svenpanne We deployed a new docbuilder box so it doesn't have all the system libs it used to. Just installed the requested libs and cleared the failed status for that package, so it should rebuild.

(also changed the title of the thread so it can be a running request thread for libs for now)

gbaz avatar Jan 21 '19 23:01 gbaz

For what it's worth I have tried to refine the procedure for requesting native libraries on the documentation builder. See https://github.com/haskell-infra/hackage-doc-builder-config for details. We should try to link to this repository from Hackage somewhere.

bgamari avatar Oct 21 '19 21:10 bgamari

Adding an enhancement/help-wanted for linking to that config repo somewhere useful by making a pr to the central-server (deployed/production) branch.

gbaz avatar Aug 12 '21 22:08 gbaz