Re: Can't open dll's

new topic     » goto parent     » topic index » view thread      » older message » newer message

Irv Mullins writes:
> After much investigation, I found out that all the *.so files
> which Euphoria couldn't load - about 140 out of 300 -
> have "undefined symbols" in them: I found this out
> by running ldd -d on them:

I tried a few experiments, and it looks like
you can probably open most of these,
provided:

   1. I add the RTLD_GLOBAL flag when I call C's dlopen()
       on Linux. I can do this for the next release. If you can't wait,
       you can read the Linux man page for dlopen() and try to wrap
       the dlopen() function yourself. You should call it as:
       lib = dlopen(dll_name, RTLD_LAZY | RTLD_GLOBAL);

       RTLD_GLOBAL makes symbols from one .so available to
       subsequently-loaded .so's.

   2. You would have to manually pre-open any .so's that the main .so 
       requires that aren't opened automatically.

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu