1. RE: Can't open dll's

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

new topic     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu