[GHC] #9625: ghc: panic using --enable-executable-dynamic

GHC ghc-devs at haskell.org
Mon Jan 26 04:40:54 UTC 2015


#9625: ghc: panic  using --enable-executable-dynamic
-------------------------------------+-------------------------------------
        Reporter:  CoreyOConnor      |                   Owner:
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:
       Component:  Package system    |                 Version:  7.8.3
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash                              |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:                    |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by rwbarton):

 So Cabal is building and registering (inplace) a package `bar` with the
 field `hs-libraries: bar` and a corresponding shared library `libbar-
 ghc7.8.3.so`:

 {{{
 rwbarton at morphism:/tmp/foo$ ghc-pkg -f dist/package.conf.inplace describe
 bar
 name: bar
 version: 0.1.0.0
 id: bar-0.1.0.0-inplace
 license: AllRightsReserved
 copyright:
 maintainer:
 stability:
 homepage:
 package-url:
 synopsis:
 description:
 category:
 author:
 exposed: True
 exposed-modules: Test
 hidden-modules:
 trusted: False
 import-dirs: /tmp/foo/dist/build
 library-dirs: /tmp/foo/dist/build
 hs-libraries: bar
 extra-libraries:
 extra-ghci-libraries:
 include-dirs:
 includes:
 depends: Cabal-1.18.1.3-4452332f737ff7dce6018eada45af877
          base-4.7.0.1-1a55ebc8256b39ccbff004d48b3eb834 foo-0.1.0.0-inplace
 hugs-options:
 cc-options:
 ld-options:
 framework-dirs:
 frameworks:
 haddock-interfaces: /tmp/foo/dist/doc/html/bar/bar.haddock
 haddock-html: /tmp/foo/dist/doc/html/bar
 pkgroot: "/tmp/foo/dist"
 }}}

 However, Haskell libraries usually have `hs-libraries` with names like
 `HSbar`.

 In b30015e78db99d79cdb48c6c810e3fd49573c5cd GHC started to enforce this,
 since it applies different rules for finding the shared library base name
 for `hs-libraries` depending on whether they start with `HS` or with `C`.
 As far as I can tell this is only used by `rts`, specifically in its
 dependency on libffi. I have to say I don't understand why libffi can't
 simply be an `extra-libraries` dependency, something to do with library
 search paths perhaps?

 Is there any other reason for the convention that Haskell library names
 start with `HS`? Is this convention documented anywhere?

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9625#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list