#1876: Complete shared library support
---------------------------------+------------------------------------------
    Reporter:  simonmar          |        Owner:                    
        Type:  task              |       Status:  new               
    Priority:  high              |    Milestone:  6.12.1            
   Component:  Compiler          |      Version:  6.8.1             
    Severity:  normal            |   Resolution:                    
    Keywords:                    |   Difficulty:  Difficult (1 week)
    Testcase:                    |           Os:  Unknown/Multiple  
Architecture:  Unknown/Multiple  |  
---------------------------------+------------------------------------------
Changes (by ttuegel):

 * cc: [email protected] (added)

Comment:

 Since there hasn't been any chatter on this ticket in more than a month, I
 thought I would share some observations I made today testing shared
 library support on x86_64 Linux (I also have an x86 machine to test on
 later).  I apologize in advance if this information is redundant; keep in
 mind it comes from an only moderately well-informed outsider.

 1. ./configure --enable-shared && make successfully compiles a compiler!
 I nearly fell out of my chair in awe!

 2. make -jN does not work for N > 1, but this may be a symptom of the
 build system in general, and not of shared library support.

 3. Because we need binaries bootstrapped as part of the compile process to
 install everything, make install fails because the operating system linker
 cannot find the shared libraries.

 I was able to use some LD_LIBRARY_PATH magic to include the relevant build
 directories and install anyway, but this only exposed the following:

 4. We put shared libraries for most packages into ${prefix}/lib but the
 rts and ffi shared-libraries go into ${prefix}/lib/ghc-6.11.20090409 where
 the dynamic linker won't find them by default.  Although we could use
 LD_LIBRARY_PATH to include the appropriate directory, that feels like a
 dirty hack: the standard Linux practice seems to be to put any shared
 libraries the linker needs to find where it will find them by default.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1876#comment:26>
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

Reply via email to