Red Hat Bugzilla – Bug 787761
undefined symbol: libvirt_event_poll_purge_timeout_semaphore
Last modified: 2012-06-20 02:47:56 EDT
Description of problem: Undefined symbol: libvirt_event_poll_purge_timeout_semaphore. Version-Release number of selected component (if applicable): # rpm -qa|grep libvirt libvirt-python-0.9.10-0rc1.el6.x86_64 libvirt-0.9.10-0rc1.el6.x86_64 How reproducible: always Steps to Reproduce: # python Python 2.6.6 (r266:84292, Sep 12 2011, 14:03:14) [GCC 4.4.5 20110214 (Red Hat 4.4.5-6)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import libvirt Actual results: >>> import libvirt Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python2.6/site-packages/libvirt.py", line 25, in <module> raise lib_e ImportError: /usr/lib64/python2.6/site-packages/libvirtmod.so: undefined symbol: libvirt_event_poll_purge_timeout_semaphore Expected results: fix it. Additional info:
The bug will block other python binding client work such as vdsm and virt-manager etc. # virt-manager Traceback (most recent call last): File "/usr/share/virt-manager/virt-manager.py", line 383, in <module> main() File "/usr/share/virt-manager/virt-manager.py", line 246, in main from virtManager import cli File "/usr/share/virt-manager/virtManager/cli.py", line 29, in <module> import libvirt File "/usr/lib64/python2.6/site-packages/libvirt.py", line 25, in <module> raise lib_e ImportError: /usr/lib64/python2.6/site-packages/libvirtmod.so: undefined symbol: libvirt_event_poll_purge_timeout_semaphore
The problem is that we need to link probes.o to libvirtmod. Now, After we do it, it shows another problem in libvirtmod as the link showed. https://www.redhat.com/archives/libvir-list/2012-February/msg00249.html these two issue could be solved together.
According to the mail thread in comment 3. The problem is made by the python library link against 'libvirt_util.la'.
The patch has been ACKed and pushed, and I verified the patch, it indeed works well for me, so move the bug to POST status, please change bug status if it has still any question. commit f2445e4de70547e32a6bcec3e1e8e51f02ac5b36 Author: Michal Privoznik <mprivozn@redhat.com> Date: Tue Feb 7 13:30:42 2012 +0100 pyhton: Don't link against libvirt_util.la As we already link with libvirt.la which contains libvirt_utils.la. Double linking causes global symbols to be presented twice and thus confusion. This partially reverts c700613b8d463212d142c97108b7a2352e23e559
Fixed in libvirt-0.9.10-0rc2.el6 Daniel
The bug has been verified on rhel6.3 with libvirt-0.9.10-0rc2.el6. # python Python 2.6.6 (r266:84292, Sep 12 2011, 14:03:14) [GCC 4.4.5 20110214 (Red Hat 4.4.5-6)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import libvirt >>> con = libvirt.open(None) >>> con.listDefinedDomains() ['win2008', 'foo-clone', 'foo', 'vr-rhel5u8-x86_64-kvm'] >>> dom = con.lookupByName(con.listDefinedDomains()[0]) >>> dom.vcpuPinInfo(0) [(True, True)] ...... I can successfully import libvirt module.
Move the bug to VERIFIED status based on Comment 7.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2012-0748.html