1. RE: Can't open dll's
- Posted by Bernie Ryan <xotron at localnet.com> Apr 23, 2001
- 381 views
Robert Craig wrote: > 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 > Rob Craig > Rapid Deployment Software > http://www.RapidEuphoria.com From: Robert Craig <rds at RapidEuphoria.com> Subject: Re: Can't open dll's by inmta006.topica.com with SMTP; 23 Apr 2001 00:49:16 -0000 (InterMail vM.4.01.03.16 201-229-121-116-20010115) with SMTP id <20010423004837.SPJO6402.tomts13-srv.bellnexxia.net@w98> for <EUforum at topica.com>; Sun, 22 Apr 2001 20:48:37 -0400 charset="iso-8859-1" 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 Rob: If you look at the message Date: Sat, 2 Dec 2000 19:31:26 -0500 When I sent you my dsearch program for Linux that opened .so files and searched for routines; I asked at that time about the RTLD_GLOBAL and other flags and you said my problems were not caused by the interpeter ? Bernie