Bug 787761 - undefined symbol: libvirt_event_poll_purge_timeout_semaphore
Summary: undefined symbol: libvirt_event_poll_purge_timeout_semaphore
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: libvirt
Version: 6.3
Hardware: x86_64
OS: Linux
urgent
urgent
Target Milestone: rc
: ---
Assignee: Gunannan Ren
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-02-06 16:47 UTC by Alex Jia
Modified: 2012-06-20 06:47 UTC (History)
7 users (show)

Fixed In Version: libvirt-0.9.10-0rc2.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-06-20 06:47:56 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2012:0748 0 normal SHIPPED_LIVE Low: libvirt security, bug fix, and enhancement update 2012-06-19 19:31:38 UTC

Description Alex Jia 2012-02-06 16:47:38 UTC
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:

Comment 1 Alex Jia 2012-02-06 17:05:23 UTC
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

Comment 3 Gunannan Ren 2012-02-07 02:53:02 UTC
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.

Comment 4 Gunannan Ren 2012-02-07 14:24:05 UTC
According to the mail thread in comment 3.
The problem is made by the python library link against 'libvirt_util.la'.

Comment 5 Alex Jia 2012-02-07 15:07:43 UTC
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>
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

Comment 6 Daniel Veillard 2012-02-08 09:52:17 UTC
Fixed in libvirt-0.9.10-0rc2.el6

Daniel

Comment 7 Alex Jia 2012-02-08 10:07:06 UTC
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.

Comment 10 Alex Jia 2012-02-28 03:53:23 UTC
Move the bug to VERIFIED status based on Comment 7.

Comment 12 errata-xmlrpc 2012-06-20 06:47:56 UTC
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


Note You need to log in before you can comment on or make changes to this bug.