[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