Dynamic loading problem

Hampus Ram d00ram at dtek.chalmers.se
Fri Apr 30 00:36:42 EDT 2004


On Thu, Apr 29 2004, Gregory Wright wrote:
> It has nothing to do with shared objects. 

No, it hasn't and I have never claimed that it is so.

> the main program (the one that loads the loadable modules) to explicitly
> link all of the object files that the set {<main program>, <loadable 
> modules>}
> depends on.

No. The problem isn't this and you need not do that in most cases as
long as you dynamically load the libraries too (which I think you really
should to allow truly dynamic loading not depending on which libraries
you compiled in). The problem is the functions in the RTS that are ffi:ed 
into the dynamic loader. They are not "global" symbols on some platforms. 
The rts is linked into alls programs by default (so specifying it separatly 
is a no-op and waste of time).

I have no problem what so ever with anything _but_ dynamically loading
a module that requires functions from the RTS (i.e. loadObj, 
lookupSymbol etc.).

However, I've now found the solution. All that was required was
to give the flag -optl-export-dynamic to ghc, not
-optl--export-dynamic, stupid mistake, but there it is...

Thanks to all that tried to help me!

/Hampus

-- 
Homepage: http://www.dtek.chalmers.se/~d00ram
E-mail: d00ram at dtek.chalmers.se

"Det är aldrig försent att ge upp"


More information about the Glasgow-haskell-users mailing list