#1876: Complete shared library support
------------------------------+---------------------------------------------
Reporter: simonmar | Owner:
Type: task | Status: new
Priority: high | Milestone: 6.10 branch
Component: Compiler | Version: 6.8.1
Severity: normal | Resolution:
Keywords: | Difficulty: Difficult (1 week)
Testcase: | Architecture: Unknown/Multiple
Os: Unknown/Multiple |
------------------------------+---------------------------------------------
Comment (by clemens):
I fixed the following for Linux/x86_64 (probably also other archs) in
today's HEAD
"./configure --enable-shared; make" should compile error free.
It should give you all libraries as shared objects, including a stage2 GHC
package.
The GHC package should be linkable into a working ghc binary (including a
wrapper) that also works in interactive mode. Running the testsuits gives
a few isolated regressions in ghci and template haskell I still have to
dig into.
I won't go into details about the Windows status. At the moment, linking
the RTS dies with unresolved RTS __imp__* symbols. Linking the RTS with
its own import lib (libHSrts*.dll.a) should fix the problem, but I haven't
got there yet.
However, for libgmp on Windows, we need to apply the same trick as with
libffi, namely change it into a Haskell package. Most of the hacking was
already done for libffi, so the changes from libffi/Makefile could be
worked into gmp/Makefile without much trouble, I think.
In any case, I'd like to argue that we should give priority to Linux
dynamic linking. With this I mean that we ship dynamic lib support even if
it's just for this single architecture. This will help to build up a small
user base that will hopefully report regressions as soon as they pop up.
Also Linux is the most hassle free OS when it comes to dynamic library
linking, so it is easier to establish that as base camp for further
climbing.
Except for libffi change, most of the changes are quite minimal. We could
probably target 6.10.2 as milestone for merging this into stable.
On Linux x86-64 dynamic at the moment:
{{{
Unexpected failures:
2014(normal)
T2386(normal)
T2597a(normal)
T2597b(normal)
TH_genEx(normal)
TH_spliceD1(normal)
TH_spliceDecl3(normal)
TH_spliceDecl4(normal)
TH_spliceE5(normal)
prog001(ghci)
prog002(ghci)
prog003(ghci)
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1876#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs