After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 329110 - gst-python sets RTLD_GLOBAL when importing, but doesn't set it back
gst-python sets RTLD_GLOBAL when importing, but doesn't set it back
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-python
git master
Other Linux
: Normal normal
: 0.10.3
Assigned To: GStreamer Maintainers
Johan (not receiving bugmail) Dahlin
Depends on:
Blocks:
 
 
Reported: 2006-01-29 18:33 UTC by Jan Schmidt
Modified: 2006-01-30 13:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
set dlopen flags back as we found them (1.12 KB, patch)
2006-01-29 18:35 UTC, Jan Schmidt
none Details | Review

Description Jan Schmidt 2006-01-29 18:33:45 UTC
There doesn't seem any reason why we should leave the dlopen flags including RTLD_GLOBAL and affect all subsequent imported modules.

Attaching a patch.
Comment 1 Jan Schmidt 2006-01-29 18:35:21 UTC
Created attachment 58339 [details] [review]
set dlopen flags back as we found them
Comment 2 Johan (not receiving bugmail) Dahlin 2006-01-29 21:00:56 UTC
The reason RTLD_GLOBAL was added during 0.8 was because plugins did not use to link to the all the libraries they used symbols from. For instance, the plugins assumed that the symbols in the core libraries were available. It seems to have changed during the 0.9 series, so I guess it's okay to remove it.
Comment 3 Jan Schmidt 2006-01-30 12:24:53 UTC
Not using RTLD_GLOBAL at all still seems to be problematic, as the bindings call functions from the libxml2 python wrappers directly, and they're not present in the global symbol table unless the libxml2 module is imported with RTLD_GLOBAL. 

We could trim down the usage of RTLD_GLOBAL only while we import libxml2, or switch to depending on lxml which seems to offer a CObject to retrieve function pointers from, as suggested in http://docs.python.org/ext/using-cobjects.html

Comment 4 Edward Hervey 2006-01-30 13:00:00 UTC
2006-01-30  Edward Hervey  <edward@fluendo.com>

	* configure.ac:
	* gst/Makefile.am:
	Link against Gst Data protocol libraries.
	* gst/__init__.py:
	Restore dlopenflags after importing gst.
	Closes #329110