dynamic library loading, missing symbols

dfj225 at gmail.com dfj225 at gmail.com
Thu Jan 11 13:43:15 EST 2007


On Jan 11, 3:40 am, "Ames Andreas" <Andreas.A... at comergo.com> wrote:

> Have you already checked the output of LD_DEBUG=all or sth. like that?

Yes, that is how I initially knew that my libraries were not even being
processed when the linker tried to bind the symbol.


On Jan 10, 5:01 pm, "Martin v. Löwis" <mar... at v.loewis.de> wrote:

> > I suppose this means that any subsequent libraries dlopened will not
> > see any of the symbols in my module?

> That's correct, and intentional. Python has crashed in the past when
> symbols conflicted across shared libraries.

> > I guess I'll have to look through the Python documentation to see if
> > they offer any work arounds to this problem.

> There is sys.setdlopenflags, but I would use it with caution.

Ok, thank you for pointing out sys.setdlopenflags. This allowed me to
set the RTLD_GLOBAL flag and the linker to bind the symbol to my
library's code. I realize that doing this is more or less a hack, but
at least it will allow me to test my code until a better solution is
created.

Thank you both Martin and Andreas for taking the time to reply to my
post.

~Doug




More information about the Python-list mailing list