Bug 998722 - qemu 1.6.0-1.fc20 on *i686* is very broken: undefined symbol: rbd_aio_flush
qemu 1.6.0-1.fc20 on *i686* is very broken: undefined symbol: rbd_aio_flush
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: qemu (Show other bugs)
rawhide
i686 Linux
unspecified Severity unspecified
: ---
: ---
Assigned To: Fedora Virtualization Maintainers
Fedora Extras Quality Assurance
:
Depends On:
Blocks: TRACKER-bugs-affecting-libguestfs
  Show dependency treegraph
 
Reported: 2013-08-19 17:40 EDT by Richard W.M. Jones
Modified: 2013-08-20 10:18 EDT (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-08-20 10:18:03 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Richard W.M. Jones 2013-08-19 17:40:18 EDT
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 Berrange 2013-08-20 07:47:25 EDT
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 07:50:41 EDT
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 07:55:19 EDT
(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 07:56:31 EDT
Will close this CLOSED -> RAWHIDE if the build in comment 2 works.
Comment 5 Richard W.M. Jones 2013-08-20 10:18:03 EDT
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.