[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