On Tue, Jan 16, 2001 at 11:44:48AM +0200, Danie Roux wrote:
[snip]
|
| I then went and look at the source rpm. They have this patch in there:
| 
| --- Python-1.5.2/Python/importdl.c.global     Sat Jul 17 16:52:26 1999
| +++ Python-1.5.2/Python/importdl.c    Sat Jul 17 16:53:19 1999
| @@ -441,13 +441,13 @@
|  #ifdef RTLD_NOW
|               /* RTLD_NOW: resolve externals now
|                  (i.e. core dump now if some are missing) */
| -             void *handle = dlopen(pathname, RTLD_NOW);
| +             void *handle = dlopen(pathname, RTLD_NOW | RTLD_GLOBAL);
|  #else
|               void *handle;
|               if (Py_VerboseFlag)
|                       printf("dlopen(\"%s\", %d);\n", pathname,
| -                            RTLD_LAZY);
| -             handle = dlopen(pathname, RTLD_LAZY);
| +                            RTLD_LAZY | RTLD_GLOBAL);
| +             handle = dlopen(pathname, RTLD_LAZY | RTLD_GLOBAL);
|  #endif /* RTLD_NOW */
|               if (handle == NULL) {
|                       PyErr_SetString(PyExc_ImportError, dlerror());
| 

The only difference here is the addtion (via bitwise or-ing) of the
RTLD_GLOBAL flag.  Check with some documentation and see what
RTLD_GLOBAL flag means and how it affects the dlopen functions.  I
imagine this function is a part of glibc.  Can anyone else help here?

-D


Reply via email to