[GHC] #8618: can't load .so/.DLL

GHC ghc-devs at haskell.org
Fri Jan 22 16:23:19 UTC 2016


#8618: can't load .so/.DLL
-------------------------------------+-------------------------------------
        Reporter:  Feuerbach         |                Owner:
            Type:  bug               |               Status:  closed
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.7
  (Linking)                          |
      Resolution:  invalid           |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash                              |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by thomie):

 From compiler/specialise/SpecConstr.hs:
 {{{
 Note [Forcing specialisation]
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 With stream fusion and in other similar cases, we want to fully
 specialise some (but not necessarily all!) loops regardless of their
 size and the number of specialisations.

 We allow a library to do this, in one of two ways (one which is
 deprecated):

   1) Add a parameter of type GHC.Types.SPEC (from ghc-prim) to the loop
 body.

   2) (Deprecated) Annotate a type with ForceSpecConstr from GHC.Exts,
      and then add *that* type as a parameter to the loop body

 The reason #2 is deprecated is because it requires GHCi, which isn't
 available for things like a cross compiler using stage1.
 }}}

 So it goes something like this:

 * uniplate used `ForceSpecConstr` somewhere
 * `ForceSpecConstr` requires GHCi to run
 * since ghc-7.8, GHCi requires shared libraries to be built
 * `shared:false` disables building shared libraries
 * error

 I changed `uniplate` to use `GHC.Types.SPEC` instead of `ForceSpecConstr`,
 as suggested by that `Note`.

 I don't think I am covering up a bug in GHC here.

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


More information about the ghc-tickets mailing list