[GHC] #9498: GHC links against unversioned .so files
GHC
ghc-devs at haskell.org
Tue Aug 16 13:55:13 UTC 2016
#9498: GHC links against unversioned .so files
-------------------------------------+-------------------------------------
Reporter: Kritzefitz | Owner:
Type: feature request | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.6.3
(Linking) |
Resolution: | Keywords: Debian
Operating System: Linux | Architecture:
| Unknown/Multiple
Type of failure: Other | Test Case:
Blocked By: 11238 | Blocking: 9237
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by nomeata):
This, or a related problem, came up in Debian: https://bugs.debian.org
/cgi-bin/bugreport.cgi?bug=834026#10
The summary is: Currently, if a Haskell library foo depends on bar, and
bar uses a C library libbaz, then creating the shared library libHSfoo.so
will be built with -lbaz, and hence link to libbaz.so.42, even though that
dependency is already encoded in libHSbar.foo. Now, if libbaz is upgraded
and bar is rebuilt the new version of libbaz, then baz’s ABI stays the
same (so foo is not going to be rebuilt), but now foo is broken, as it
cannot find `libbaz.so.42` any more.
@trommler writes on LinkingHaskell (Emphasis mine), which should avoid
this problem for us.
> All Haskell libraries and all '''directly''' dependent C libraries must
be passed to the linker.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9498#comment:28>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list