On Tue, Mar 8, 2011 at 08:23, Max Bolingbroke <batterseapo...@hotmail.com> wrote: > On 8 March 2011 05:28, Jason Dusek <jason.du...@gmail.com> wrote: > > gcc -g -Wall -O2 -fPIC -Wall -o import \ > > -I/usr/lib/ghc-6.12.1/include/ \ > > import.c exports.so > > In my experience, the easiest way to do this is to use gcc to build > object files from C source files, and then specify those object files > on the ghc command line in order to get GHC to do the linking step. > This will deal with linking in the correct RTS and, if you specify > appropriate -package flags, dependent packages as well. > > If you want a C main function then see user guide section 8.2.1.1 at > http://www.haskell.org/ghc/docs/latest/html/users_guide/ffi-ghc.html.
Following your advice, I was able to get a working main, linking the .o's (no attempt at an SO this time) with GHC. However, what I was hoping to do was build an SO and that could be linked without GHC, for example via Postgres's "LANGUAGE C" functionality (load SOs and run them) or Ruby's DL/Import (same idea for Ruby). Requiring GHC for linking would really frustrate that goal :) Is there a tutorial I should be following? Well-Typed's blog post on this in the early days of shared object support seemed to be doing what I was doing. -- Jason Dusek Linux User #510144 | http://counter.li.org/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe