Brian Lewis | 13 Jul 21:30 2013

build failure on Hackage

I maintain a library that, on Linux, needs libXxf86vm to build. The
server where Hackage runs doesn't have that library, so the build fails.
I think this is reasonable -- that box can't possibly have all the
libraries various packages might need. But the build failure seems to
cause the Haddock docs to not be generated. Why?

My understanding is, if someone specifies my library as a build
dependency, my library's build failure will also cause the docs for
their package not to be built. I think my library will kill the Hackage
Haddock docs for any other package that depends on it, due to a build
error that's not even meaningful.

What can I do?
Roman Cheplyaka | 13 Jul 22:15 2013

Re: build failure on Hackage

* Brian Lewis <brian <at> lorf.org> [2013-07-13 14:30:01-0500]
> I maintain a library that, on Linux, needs libXxf86vm to build. The
> server where Hackage runs doesn't have that library, so the build fails.
> I think this is reasonable -- that box can't possibly have all the
> libraries various packages might need. But the build failure seems to
> cause the Haddock docs to not be generated. Why?

This is a consequence of how haddock works. It uses GHC API, which has
to "compile" modules before haddock can process them.

> My understanding is, if someone specifies my library as a build
> dependency, my library's build failure will also cause the docs for
> their package not to be built. I think my library will kill the Hackage
> Haddock docs for any other package that depends on it, due to a build
> error that's not even meaningful.
> 
> What can I do?

1. Why exactly does haddock fail? IINM, the absence of library itself
   (i.e. an .a or .so file) shouldn't be a problem, as haddock doesn't
   do linking. If the problem is due to an absent include file, perhaps
   you can bundle it with your package for the sake of generating
   documentation?

   To generate documentation without linking, do

     cabal configure && cabal haddock

   instead of

(Continue reading)

Brian Lewis | 13 Jul 22:44 2013

Re: build failure on Hackage

On 2013.07.13, at 23:15, Roman Cheplyaka wrote:
> 1. Why exactly does haddock fail?

I think it never actually tries to build the Haddock docs for the actual
package of interest because its dependencies failed to build.

Here's the GLFW-b build log:
http://hackage.haskell.org/packages/archive/GLFW-b/1.0.0/logs/failure/ghc-7.6

...
Running Haddock for bindings-DSL-1.0.16...
...
Running Haddock for th-lift-0.5.5...
...
* Missing C library: Xxf86vm

These messages are from the build of bindings-GLFW, a dependency of
GLFW-b. Due to the missing library, bindings-GLFW's build fails. So
GLFW-b's does too.

I guess I think the build failure should be noted, but that Hackage
should go on and build the docs anyway.
Roman Cheplyaka | 13 Jul 23:05 2013

Re: build failure on Hackage

* Brian Lewis <brian <at> lorf.org> [2013-07-13 15:44:58-0500]
> On 2013.07.13, at 23:15, Roman Cheplyaka wrote:
> > 1. Why exactly does haddock fail?
> 
> I think it never actually tries to build the Haddock docs for the actual
> package of interest because its dependencies failed to build.
> 
> Here's the GLFW-b build log:
> http://hackage.haskell.org/packages/archive/GLFW-b/1.0.0/logs/failure/ghc-7.6
> 
> ...
> Running Haddock for bindings-DSL-1.0.16...
> ...
> Running Haddock for th-lift-0.5.5...
> ...
> * Missing C library: Xxf86vm
> 
> These messages are from the build of bindings-GLFW, a dependency of
> GLFW-b. Due to the missing library, bindings-GLFW's build fails. So
> GLFW-b's does too.
> 
> I guess I think the build failure should be noted, but that Hackage
> should go on and build the docs anyway.

Ah, yes. This may be a bit more complicated than it seems, due to the
way Cabal works.

Let's say you've built the docs for this library. Now you have to
install it, so that its reverse dependencies can reference it.

(Continue reading)

Brian Lewis | 14 Jul 00:05 2013

Re: build failure on Hackage

On 2013.07.14, at 00:05, Roman Cheplyaka wrote:
> Ah, yes. This may be a bit more complicated than it seems, due to the
> way Cabal works.

I think you're right. This seems really unfortunate. :(

Thanks for the explanation.
José Pedro Magalhães | 16 Jun 12:22 2011
Picon

Build failure on Hackage, missing syb

Hi all,

What causes the following build failure on Hackage?

*** setup configure

Configuring instant-generics-0.3.2...
cabal-setup: At least the following dependencies are missing:
syb <0.4

This is in package instant-generics-0.3.2. The syb package built fine on Hackage. Previously, packages depending on syb built fine too (e.g. http://hackage.haskell.org/package/syz). So why is instant-generics-0.3.2 not building?


Thanks,
Pedro

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Gmane