Error Interpreting Main with API

Simon Marlow marlowsd at
Mon Apr 21 12:41:29 EDT 2008

C.M.Brown wrote:
> Hello,
> I am trying to use the API to interpret a Main module and get some type
> information from it. However, everytime I try to load a "Main.hs" module
> using the API I get the following error message:
> /usr/local/packages/ghc-6.8.2/lib/ghc-6.8.2/libHSrts.a(Main.o): In
> function `real_main':
> Main.c:(.text+0x7): undefined reference to `__stginit_ZCMain'
> Main.c:(.text+0x36): undefined reference to `ZCMain_main_closure'
> collect2: ld returned 1 exit status
> If I create an empty file called "Main" within the directory where
> "Main.hs" is located the program suceeds, I'm guessing this is because
> there is no linking involved. Is there an extra flag I need to pass to GHC
> in order to avoid this error? It works perfectly if I try it on a
> module that is not called Main.

The GHC API is behaving just like --make: it links the program if you 
have a Main module.  To ask it not to link, you want to do the same as 
'--make -c', which in the GHC API means setting the ghcLink field of 
DynFlags to NoLink.


More information about the Glasgow-haskell-users mailing list