[Haskell-cafe] Compiling a shared library on MacOS X

Jean-Denis Koeck jdkoeck at gmail.com
Sun Jan 3 09:28:53 EST 2010

I'm using the following cabal file to build a shared library with ghc:

Build-Type:            Simple
Executable libmylibrary.dll
  If os(windows)
    CPP-Options:        -DWIN32
  Extensions:           ForeignFunctionInterface
  Build-Depends:        ...
  Main-Is:              libmylibrary.hs
  Ghc-Options:          -W --make -no-hs-main -optl-shared -optl-s -O2

The resulting library is called from a C++ graphical user interface (using
which worked great so far on Windows and Linux.

However, the compilation fails on MacOS X:

Undefined symbols:
  "_ZCMain_main_closure", referenced from:
      _ZCMain_main_closure$non_lazy_ptr in libHSrts.a(Main.o)
  "___stginit_ZCMain", referenced from:
      ___stginit_ZCMain$non_lazy_ptr in libHSrts.a(Main.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status

I don't know much about shared libraries, even less about them on MacOS X :(
Any idea ?

Jean-Denis Koeck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100103/2798b38e/attachment.html

More information about the Haskell-Cafe mailing list