
#10352: Properly link Haskell shared libs on all systems -------------------------------------+------------------------------------- Reporter: duncan | Owner: Phyx- Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 7.11 (Linking) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: 5987 Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by Phyx-): It turns out that this is slightly tricky on Linux as well. It seems that the `WRAPPER` scripts generated by `utils/ghc-cabal/Main.hs` is also setting the `LD_LIBRARY_PATH` value to each dependency of the wrapped application. Previously for the RTS this was easy because all of the `RTS .so` were all in the same folder so it hardcoded `lib/ghc-${ver}/rts-1.0/` in the `LD_LIBRARY_PATH`. This presents the obvious question now, what to do with the RTS. Previously because the names were different and they're all in the same subdirectory you could just add the parent and the platform loaded would load the .so based on the filename. The problem is, I have no way of telling, from within the compiled program which RTS you actually intended to use. If I can't do that I can't add the new rts directories to the library path. Any suggestions? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10352#comment:19 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler