Good they all, Our program is an archiver for gnome that uses gnome-python with one widget written in C.
I converted our program to autoconf and automake so anyone can (and please do!) compile it and see what I mean. Everything compiles fine. But when it runs it just throws a weird exception. The funny thing is, if I alien RedHat 6.2's python package, and install that, it works! I need to change nothing else. Only the python package. 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()); Sure enough this fixes my problem. The thing is that this means our program only works on Redhat (and who ever patched python 1.5.2 with this). So what can I do now? How can I get this patch into debian-python? How can I change my program to not need the patch? btw the program is garchiver, it will be hosted at sourceforge as soon as they get back to me, in the mean time I will mail anyone a copy of the sources. -- Danie Roux *shuffle* Adore Unix