why are dlopen flags different between 1.5 and 1.5.2?

Randall Hopper aa8vb at yahoo.com
Tue Aug 17 16:29:11 CEST 1999


Michael Hudson:
 |Bill Janssen <janssen at parc.xerox.com> writes:
 |
 |> After a fair amount of grief, I found out that while Python 1.5
 |> specified RTLD_GLOBAL in its call to dlopen (in Python/importdl.c),
 |> Python 1.5.2 does not.  Is there any particular reason to change this?
 |
 |It was thrashed out here a while's back. www.deja.com is your
 |friend... I think there was also discussion on PSA-members or some sig
 |or other.
 |
 |I think the basic gist was that if not using RTLD_GLOBAL causes you
 |problems you can do something about it, whereas if using RTLD_GLOBAL
 |causes you problems you are screwed.

(A little late catching up on the Python folder)  

This bit me a few months ago as well.  If you're dlinking with C wrappers
which dlink with a library you don't have source for (which has undefined
unreferenced symbols that don't matter when linking with C programs),
you've got some work to do.

Either beg/borrow/steal the source and recompile it, define or remove the
undefined dynamic symbols one way or another, put the library in another
process, ...or just hack Python before you build it and remove that dlopen
flag.

Randall




More information about the Python-list mailing list