[Matrix-SIG] RTLD_GLOBAL gone from 1.5.2; alternative?

Zane Motteler zcm@llnl.gov
Tue, 19 Jan 99 12:23:23 PST


Hello colleagues,

In version 1.5.2, the flag RTLD_GLOBAL has been removed from
importdl.c. This flag, if on, allows routines in a shared object
to access global variables in another. If it is off, attempting
to call a routine in another shared object causes a segmentation
fault and a core dump. This is unacceptable behavior to me, as
I have extensions which rely on being able to call
PyArray_FromDimsAndData. I do not want to have to hand edit
importdl.c with each release, besides which this may cause
somebody else's code to come to grief. Likewise, I do not
want to have to link these modules into python itself.

Has anybody out there solved the problem of how to call a routine
in a shared module from another shared module without editing
core python or changing how it is linked?

Thanks,

Zane

--------------------
Zane C. Motteler, Ph. D.
   Professor Emeritus of Computer Science and Engineering
   California Polytechnic State University, San Luis Obispo
   zmottel@calpoly.edu
Currently:
   Computer Scientist
   Lawrence Livermore National Laboratory
   P O Box 808, L-038 (Street address 7000 East Avenue, L-038)
   Livermore, CA 94551-9900
   zcm@llnl.gov  925/423-2143, FAX 925/423-9969