On Thu, 2008-11-20 at 15:12 +0000, Simon Marlow wrote:
> Matthias Kilian wrote:

> > However, what about Linux? Doesn't it show the same problem? IIRC,
> > sem_wait(3) and friends are in libpthread on Linux, too.
> 
> We depend on librt, which apparently depends on libpthread, so we get away 
> with it.  It wouldn't hurt to add pthread to extra-libraries for Linux too, 
> I imagine.

On most linux systems the pthread.so is not a real ELF file but a gnu ld
script:

/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
OUTPUT_FORMAT(elf64-x86-64)
GROUP ( /lib64/libpthread.so.0 /usr/lib64/libpthread_nonshared.a )

ghci calls dlopen() which expects a proper ELF shared lib so will fail
to load it (and thus all ghc packages that depend on the package that
links directly to pthread).

For example in gtk2hs we had to filter the output of pkg-config --libs
to remove pthread or we would be unable to use gtk2hs in ghci.

Duncan

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to