Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 998722 - qemu 1.6.0-1.fc20 on *i686* is very broken: undefined symbol: rbd_aio_flush
Summary: qemu 1.6.0-1.fc20 on *i686* is very broken: undefined symbol: rbd_aio_flush
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: qemu
Version: rawhide
Hardware: i686
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Fedora Virtualization Maintainers
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: TRACKER-bugs-affecting-libguestfs
TreeView+ depends on / blocked
 
Reported: 2013-08-19 21:40 UTC by Richard W.M. Jones
Modified: 2013-08-20 14:18 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-08-20 14:18:03 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Richard W.M. Jones 2013-08-19 21:40:18 UTC
Description of problem:

All qemu *i686* binaries are broken.  They all say:

$ qemu-system-i386 --help
qemu-system-i386: symbol lookup error: qemu-system-i386: undefined symbol: rbd_aio_flush

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

qemu-system-x86-1.6.0-1.fc20.i686

How reproducible:

100%

Steps to Reproduce:
1. Run any qemu binary.

Comment 1 Daniel Berrangé 2013-08-20 11:47:25 UTC
What is odd here is that I can see qemu linking to librbd.so.1, and I can also see that librbd.so.1 exports rbd_aio_flush ! 

$ ldd ./usr/bin/qemu-system-i386  | grep rbd
	librbd.so.1 => not found

(ignore the 'not found' message here)

$ rpm2cpio ../ceph-libs-0.61.7-2.fc20.i686.rpm  | cpio -idmv 
./usr/lib/librados.so.2
./usr/lib/librados.so.2.0.0
./usr/lib/librbd.so.1
./usr/lib/librbd.so.1.0.0
...snip...
9648 blocks
$ nm -a -D .//usr/lib/librbd.so.1 | grep rbd_aio_flush
000192e0 T rbd_aio_flush

Comment 2 Richard W.M. Jones 2013-08-20 11:50:41 UTC
I tried building this locally on a fully up to date Rawhide
32 bit VM, and it built the binary fine.  So I just bumped the
release number and tried a Koji build.

http://koji.fedoraproject.org/koji/taskinfo?taskID=5832553

I also added qemu-system-x86_64 -help into the %build section,
which ought to catch outright build brokenness in future.
Full change is here:

http://pkgs.fedoraproject.org/cgit/qemu.git/commit/?id=64e123aeee810a6d5d5de36ac064c483b67869e9

Comment 3 Richard W.M. Jones 2013-08-20 11:55:19 UTC
(In reply to Daniel Berrange from comment #1)
> What is odd here is that I can see qemu linking to librbd.so.1, and I can
> also see that librbd.so.1 exports rbd_aio_flush ! 
> 
> $ ldd ./usr/bin/qemu-system-i386  | grep rbd
> 	librbd.so.1 => not found
> 
> (ignore the 'not found' message here)
> 
> $ rpm2cpio ../ceph-libs-0.61.7-2.fc20.i686.rpm  | cpio -idmv 
> ./usr/lib/librados.so.2
> ./usr/lib/librados.so.2.0.0
> ./usr/lib/librbd.so.1
> ./usr/lib/librbd.so.1.0.0
> ...snip...
> 9648 blocks
> $ nm -a -D .//usr/lib/librbd.so.1 | grep rbd_aio_flush
> 000192e0 T rbd_aio_flush

On an actual machine:

$ ldd /usr/bin/qemu-system-x86_64 | grep rbd.so
	librbd.so.1 => /usr/lib/librbd.so.1 (0xb6849000)
$ rpm -qf /usr/lib/librbd.so.1
ceph-libs-0.56.4-1.fc20.i686
ceph-devel-0.56.4-1.fc20.i686

[erm, what?]

There is, however, a new ceph-libs available -- just this
morning.  It wasn't available in either Koji or regular Rawhide
installs until this morning, so perhaps there was a Rawhide
compose failure?

Anyway:

$ sudo yum install ceph-libs
[...]
================================================================================
 Package                     Arch       Version             Repository     Size
================================================================================
Updating:
 ceph-devel                  i686       0.61.7-2.fc20       rawhide       272 k
Installing for dependencies:
 boost-program-options       i686       1.54.0-2.fc20       rawhide       145 k
Updating for dependencies:
 boost-system                i686       1.54.0-2.fc20       rawhide        37 k
 boost-thread                i686       1.54.0-2.fc20       rawhide        56 k
 ceph                        i686       0.61.7-2.fc20       rawhide        12 M
 ceph-libcephfs              i686       0.61.7-2.fc20       rawhide       1.3 M
 ceph-libs                   i686       0.61.7-2.fc20       rawhide       1.4 M
 liborcus                    i686       0.5.1-5.fc20        rawhide       204 k

Transaction Summary
================================================================================
Install             ( 1 Dependent package)
Upgrade  1 Package  (+6 Dependent packages)
[...]

And now qemu works.

Comment 4 Richard W.M. Jones 2013-08-20 11:56:31 UTC
Will close this CLOSED -> RAWHIDE if the build in comment 2 works.

Comment 5 Richard W.M. Jones 2013-08-20 14:18:03 UTC
This one is built and works for me now (you have to also
update ceph-libs):

http://koji.fedoraproject.org/koji/taskinfo?taskID=5832553


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