[Haskell-cafe] Build dependency problem with bytestring.

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Fri Mar 7 06:38:06 EST 2008


On Fri, 2008-03-07 at 00:59 -0800, Jon Strait wrote:
> Don Stewart wrote:
> > jstrait:
> >   
> >> Hi all,
> >>
> >> I'm upgrading HAppS from my 0.9.2 to the current 0.9.2.1 in Hackage.  
> >> Some HAppS components have built and installed (IxSet and Util).  
> >> Halfway through the HAppS-State build, the GHC runtime linker gives a 
> >> fatal error on finding a duplicate definition for symbol fps_minimum 
> >> while loading bytestring 0.9.0.4 after having already loaded bytestring 
> >> 0.9.0.1.  From trial and error, I'm guessing that HAppS-State needs 
> >> 0.9.0.1 but one of its build dependencies was built with 0.9.0.4.   
> >> Using GHC 6.8.2 Linux here.
> >>
> >> Any suggestions on how best to currently approach this situation?
> >> .
> >>     
> >
> > you need to uninstall your happs build, uninstall bytestring 0.9.0.1,
> > and start over, so all packages link against 0.9.0.4 only.
> >
> > Cheers,
> >   Don
> >   
> Thanks for the response, Don.  I ended up unregistering and rebuilding 
> many more packages against bytestring 0.9.0.4 that had previously been 
> built against 0.9.0.1.  However, GHC itself had been built with 
> bytestring 0.9.0.1, and was showing up as broken in the package 
> listing.  So, when I was done fighting the missing dependency errors, I 
> just reinstalled bytestring 0.9.0.1 and let the rest be, for now.

The current development version of cabal detects theses problems of
inconsistent versions of dependencies and warns about them and provides
detail on what packages have conflicting dependencies.

The next step is rather harder which is to get cabal-install to make
installation plans that avoid the problem in the first place, possibly
by rebuilding existing packages against different versions of their
dependencies.

> Another issue I had, and I don't think this is the intended behavior of 
> Cabal, is that when using 'cabal install --global' as root, lib files 
> from the package would be placed under the root's own .cabal/lib/ 
> directory.  So, as a different user, I would be unable to access those 
> lib files if they were needed for my own local build.  I had to add the 
> option
>  '--libdir=/usr/lib/ghc-6.8.2/lib' on install, something I thought 
> should have been implicit when using the --global option.

Sorry about that. You'll be glad to know however that we fixed it the
other day. Upgrade to the latest darcs version of the Cabal lib and
cabal-install.

If you find the problem isn't fixed or you run into other issues please
do report them! :-)
http://hackage.haskell.org/trac/hackage/

Duncan



More information about the Haskell-Cafe mailing list