Bug 1096654

Summary: glusterfs should implement versioned symbols
Product: [Fedora] Fedora Reporter: Richard W.M. Jones <rjones>
Component: glusterfsAssignee: Kaleb KEITHLEY <kkeithle>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: barumuga, chris+rhbugzilla, eblake, helmut.schlattl, joe, jonathansteffan, kkeithle, ndevos, silas
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-12 12:12:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Richard W.M. Jones 2014-05-12 08:00:11 UTC
Description of problem:

A very common problem when upgrading qemu is this error:

qemu-system-arm: symbol lookup error: qemu-system-arm: undefined symbol:      
glfs_zerofill

It is caused because the gluster library doesn't version
symbols, and this means RPM is unable to notice that
(eg) glfs_zerofill requires a particular version of the
library.

Version-Release number of selected component (if applicable):

glusterfs, all versions in Fedora

How reproducible:

100%

Steps to Reproduce:
1. Install Fedora 20.
2. Install qemu.
3. Install fedora-release-rawhide.
4. yum --enablerepo=rawhide install qemu-system-x86
5. Run: qemu-system-x86

Actual results:

qemu (or any program linked to gluster) will fail with an
error similar to the one given above.

Expected results:

If symbols are versioned, RPM will be able to detect that
glusterfs-api/-libs needs to be upgraded at the same time as qemu.

Additional info:

A similar problem was found in ceph, see:
https://bugzilla.redhat.com/show_bug.cgi?id=999087
(I believe that bug was fixed, although the bug status doesn't
show it.)

https://www.berrange.com/posts/2011/01/13/versioning-in-the-libvirt-library/

http://www.akkadia.org/drepper/symbol-versioning

Comment 1 Richard W.M. Jones 2014-05-12 08:03:33 UTC
Thread on virt-tools-list:

https://www.redhat.com/archives/virt-tools-list/2014-May/thread.html#00033

Comment 2 Kaleb KEITHLEY 2014-05-12 12:12:10 UTC
versioned libgfapi.so is coming in 3.6.

Comment 3 Richard W.M. Jones 2014-05-12 13:27:44 UTC
Since this is (or will be) upstream, setting the resolution appropriately.

Comment 4 Richard W.M. Jones 2014-05-24 06:43:05 UTC
*** Bug 1100929 has been marked as a duplicate of this bug. ***

Comment 5 Helmut Schlattl 2014-05-26 17:59:44 UTC
The same error occurs now also on a pure Fedora-20 installation:

qemu-system-x86-1.6.2-5.fc20.x86_64
glusterfs-api-3.5.0-3.fc20.x86_64

So it is not pure upstream. Versioned libgfapi.so is also required in F20. Reopen?

Current Workaround: downgrade qemu-system-...