[Haskell-cafe] Re: Problem with directory-18.104.22.168
marlowsd at gmail.com
Mon Dec 1 08:41:32 EST 2008
Bartosz Wójcik wrote:
> Hi Folks,
> I'm facing problem after I've reinstalled directory-22.214.171.124 (setup
> configure/build/install). Since then I cannot complie anything that needs
> this library. It fails with following messages:
> Preprocessing library haddock-2.4.0...
> Preprocessing executables for haddock-2.4.0...
> Building haddock-2.4.0...
> /usr/bin/ar: creating dist/build/libHShaddock-2.4.0.a
> Linking dist/build/haddock/haddock ...
> /usr/local/lib/ghc-6.8.2/libHSghc.a(Coverage.o): In function `scXR_info':
> (.text+0x17b7c): undefined reference to
> /usr/local/lib/ghc-6.8.2/libHSghc.a(Coverage.o): In function `s8xU_info':
> (.text+0x1792c): undefined reference to
> /usr/local/lib/ghc-6.8.2/libHSghc.a(Coverage.o): In function `r7aC_closure':
> (.data+0xd18): undefined reference to
> collect2: ld returned 1 exit status
> Situation is following:
> Old directory-126.96.36.199 resides
> in /usr/local/lib/ghc-6.8.2/lib/directory-188.8.131.52.
> New one in /usr/local/lib/directory-184.108.40.206.
> Why new one doesn't work?
> How to force linker to use old one?
What happened here is that you recompiled directory without recompiling the
things that depend on it (e.g. GHC). This is a problem because compiled
Haskell libraries don't have a fixed ABI: if you recompile the library, you
get a different result, and all the compiled clients of the library must be
For libraries that GHC depends on, this is a problem, because it's usually
not practical to recompile GHC. You can usually install a newer version of
these libraries without conflicting with the old version, though.
We do think this is something that needs to be fixed in a future version of
GHC (hopefully 6.12).
More information about the Haskell-Cafe