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 473234 - gst-python-0.10.8 fails to link with -Wl,-z,now
gst-python-0.10.8 fails to link with -Wl,-z,now
Status: RESOLVED DUPLICATE of bug 398567
Product: GStreamer
Classification: Platform
Component: gst-python
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-09-03 16:55 UTC by Samuli Suominen
Modified: 2009-11-07 00:26 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Samuli Suominen 2007-09-03 16:55:41 UTC
http://bugs.gentoo.org/show_bug.cgi?id=166221

gst-python is having troubles when LDFLAGS="-Wl,-z,now" is used, and it's
a normal flag used in Gentoo Hardened -branch.

Workaround would be to append "-Wl,-z,lazy" in configure.ac:

http://bugs.gentoo.org/attachment.cgi?id=129928&action=view

Real solution is beyond me, I can only hope you can track it down when testing mentioned flag.
Comment 1 Edward Hervey 2007-09-03 17:13:22 UTC
more info when running make check with those flags :

make[3]: Entering directory `/home/bilboed/work/cvs/gst-python/testsuite'
Traceback (most recent call last):
  • File "./cleanup.py", line 3 in <module>
    import gst
  • File "/home/bilboed/work/cvs/gst-python/gst/__init__.py", line 144 in <module>
    from _gst import *
  • File "/usr/lib64/python2.5/ihooks.py", line 404 in import_module
    q, tail = self.find_head_package(parent, str(name))
  • File "/usr/lib64/python2.5/ihooks.py", line 440 in find_head_package
    q = self.import_it(head, qname, parent)
  • File "/usr/lib64/python2.5/ihooks.py", line 495 in import_it
    m = self.loader.load_module(fqname, stuff)
  • File "/usr/lib64/python2.5/ihooks.py", line 268 in load_module
    m = self.hooks.load_dynamic(name, filename, file)
  • File "/home/bilboed/work/cvs/gst-python/gstltihooks.py", line 61 in load_dynamic
    return ihooks.Hooks.load_dynamic(self, name, filename, file)
  • File "/usr/lib64/python2.5/ihooks.py", line 172 in load_dynamic
    return imp.load_dynamic(name, filename, file)
ImportError: /home/bilboed/work/cvs/gst-python/gst/.libs/_gst.so: undefined symbol: libxml_xmlDocPtrWrap

Comment 2 Edward Hervey 2007-09-03 17:29:08 UTC
The problem seems to be because of these two symbols :
************
#line 561 "./gst.override"

extern PyObject * libxml_xmlDocPtrWrap(xmlDocPtr doc);
extern PyObject * libxml_xmlNodePtrWrap(xmlNodePtr node);
************

They will only be resolved when the libxml2 module is imported.
Comment 3 Mike Frysinger 2007-09-03 21:37:24 UTC
the GST python code goes through hoops to make sure the dl bindings are LAZY at runtime ... unfortunately, the ldso respects the dynamic tags over the flags given to dlopen(), so the configure script should make sure to link the modules with -z,lazy whenever possible

presumably the people who threw in the logic to force everything to lazy bindings did so for a reason ... the loading process is done in a specific order to make sure the symbols needed are available at the right time
Comment 5 David Schleef 2009-11-07 00:26:28 UTC

*** This bug has been marked as a duplicate of bug 398567 ***