Sergiy, Tom, Thanks for your replies.
Sergiy, I was able to get this working without having to recompile my installed Haskell libraries. Tom, you were correct; I needed to explicitly link against the Haskell run-time system, as well as a few other things: I changed my ghc link options from this: HC_LOPTS = -no-hs-main -shared -package parsec -package dsp -static to this: HC_LOPTS = -shared -dynamic -package parsec-3.1.1 -package dsp -lHSrts -L/usr/lib/ghc-6.12.3/ -lm -lffi -lrt and things are working. (The command that builds my mixed language, shared object library, `libami.so', is: ghc -o libami.so $(HC_LOPTS) {object files, compiled from both C and Haskell} ) I can understand why I'd have to explicitly link against `libHSrts', since I'm asking ghc for a shared object library and not an executable. However, I'm not sure about the following: - Why do I need to give the `-L/usr/lib/ghc-6.12.3/' option? (It seems like ghc ought to know about that, implicitly.) - Why do I need to explicitly link against the 3 standard C libraries: `m', `ffi', and `rt'? (I've never needed to do this, previously, when I was building/testing this project statically.) Thanks, in advance, for any insights! -db On 9/10/11, Sergiy Nazarenko <nazarenko.ser...@gmail.com> wrote: > I've recompiled my library again and now it works without any problem. > Probably I made mistake somewhere. > > Cheers, > Sergiy > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe