Does this trigger recollection in anyone:
dbanas@dbanas-eeepc:~/prj/haskell/AMIParse/trunk$ make
ghc -dynamic -o ami_test -L. -lami ami_test.o
./libami.so: undefined reference to `__stginit_haskell98_MarshalArray_'
./libami.so: undefined reference to `__stginit_haskell98_MarshalError_'
First thing to try is always --make; GHC's default behavior is, shall we say, not optimal otherwise. (I consider it highly broken; somewhere in there the default is *supposedly* going to change to --make, I believe.) If you want to try to make it work the ugly old way, the symbol names suggest to me that "-package haskell98" would help.