[Haskell-cafe] OSX, ghci, dylib, what is the correct way?

Brandon Allbery allbery.b at gmail.com
Sun Jun 12 20:45:26 CEST 2011


On Sun, Jun 12, 2011 at 14:31, Jason Dagit <dagitj at gmail.com> wrote:
> 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



More information about the Haskell-Cafe mailing list