Subject: Re: dlopen information
To: David Hobley <David.Hobley@nms.otc.com.au>
From: matthew green <mrg@mame.mu.OZ.AU>
List: current-users
Date: 12/14/1994 16:00:00
   [Sorry if I sent out two of these - stupid keypress on my part]
   
   Could someone point me in the direction of finding out how dlopen() etc work -
   
   I have built Python for NetBSD configured for dynamic loading, but when
   I try to dlopen a shared object I keep getting errors from ld.so
   reporting undefined symbols, after which the process exits.
   
   I don't seem to have any manual pages for dlopen. I looked at the include
   files, I could find no idea about what the second parameter to dlopen
   should be. Can I assume that it is the same as the Sun dlopen function ?
   In that case - can I get information about dlctl() to replace calls to
   dlerror() from somewhere ?
   
   I had a look in the srcs and found dlopen stubs in crt0.c (?), but I couldn't
   work out what they were actually meant to do. They seemed to point into
   the kernel ?

the current dlopen() implimentation doesn't handle libraries that
have references to other librares in them.  ie, if you create a
shared libray with '-lm' in it, the new library has a little bit
of info saying "i need libm" but dlopen() doesn't use it.  i've
got a patch for it that does do this.  i'll find it when my netbsd
machine is back online and mail it to you.

the second arg to dlopen() isn't use in netbsd, from memory, it's
there to be compatible with sun's dlopen().  there is no dlerror()
(yet).

.mrg.