[Haskell-cafe] Upgrading ByteString causes (seemingly) impossible RTS linker errs

Don Stewart dons at galois.com
Sun Jan 27 15:24:46 EST 2008


mad.one:
> Recently I've been developing my IRC bot a little further, and in the
> midst of it I have come across a very problematic issue that revolves
> around GHC-dependencies vs. application-dependencies. The central issue
> is ByteString.
> 
> Currently, the ghc package depends on bytestring-0.9.0.1. However, the
> current version of ByteString I have installed is 0.9.0.4. To keep
> compatability with bytestring-dependent libraries that were built
> against 0.9.0.1, you have to recompile of all these libs against
> 0.9.0.4. For example, I had to build a newer version of zlib against
> 0.9.0.4, because the older version was built for 0.9.0.1, which mean
> that it was not possible to build cabal-install because of the
> incompatabilities (it needed bytestring and zlib.)
> 
> The problem is that if you have a package that depends on ghc as a
> library, but also depends on bytestring > 0.9.0.1 or any library built
> against it, you'll get pretty much unstoppable linker errs, since all the
> symbol names in the ghc package are hardwired for 0.9.0.1 (meaning you
> can't do 'ghc-pkg update' for it) forcing it to be loaded.

It should be possible to specify that your lib depends on exactly
0.9.0.1 in the .cabal file.

-- Don


More information about the Haskell-Cafe mailing list