[Haskell-cafe] Bulding a library for C users on OS X

Manuel M T Chakravarty chak at cse.unsw.edu.au
Sun Nov 1 21:30:02 EST 2009

Chris Eidhof:
> I'm trying to call a Haskell function from C, on OS X. There's an  
> excellent post [1] by Tomáš Janoušek that explains how to do this on  
> Linux. However, on OS X, it's different. First of all, it looks like  
> the -no-hs-main flag is ignored, because I get the following error:
> > ghc -O2 --make       -no-hs-main -optl '-shared' -optc '- 
> DMODULE=Test'       -o Test.so Test.hs module_init.c
> > [1 of 1] Compiling Main             ( Test.hs, Test.o )
> >
> > Test.hs:1:0: The function `main' is not defined in module `Main'''

The flag -no-hs-main is a link-time flag that allows you to link  
without a main function, but you are getting a compile time error.   
It's as if you try to export main, but don't define it.

Have you had a look at http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi-ghc.html#foreign-export-ghc 


More information about the Haskell-Cafe mailing list