
On Sun, Jun 12, 2011 at 14:31, Jason Dagit
If I build the C library as a .a, then ghci comlains that it cannot open the .dylib. My first question is: Why does ghci need a .dylib and does it really use it?
Static libraries are... static. ghci would have to rebuild itself against the static archive to use it; that's how static archives work. Dynamic libraries are dynamic because they can be loaded at runtime instead of compile time.
When I build a dylib I get a [segfault when loading the code into ghci][2].
I believe ghci still uses its own dynamic loader instead of the standard library one, and as such it doesn't handle everything quite correctly; Mach-O is a moving target and Apple doesn't always document its changes.[1] When you compile, the system linker is used to build the executable and things work properly. [1] http://hackage.haskell.org/trac/ghc/ticket/4244