FS#43578 - [qemu] qemu-img cannot load libiscsi.so.1 shared library

Attached to Project: Arch Linux
Opened by Vincenzo Maffione (vmaffione) - Monday, 26 January 2015, 08:28 GMT
Last edited by Doug Newgard (Scimmia) - Friday, 30 January 2015, 15:18 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

qemu-img fails to load the libiscsi.so.1 shared library, reporting the following error:

"qemu-img: error while loading shared libraries: libiscsi.so.1: cannot open shared object file: No such file or directory"

I have libiscsi (1.13.0-1) installed:

$ pacman -Ql libiscsi
libiscsi /usr/
libiscsi /usr/bin/
libiscsi /usr/bin/iscsi-inq
libiscsi /usr/bin/iscsi-ls
libiscsi /usr/bin/iscsi-readcapacity16
libiscsi /usr/bin/iscsi-swp
libiscsi /usr/bin/ld_iscsi.so
libiscsi /usr/include/
libiscsi /usr/include/iscsi/
libiscsi /usr/include/iscsi/iscsi.h
libiscsi /usr/include/iscsi/scsi-lowlevel.h
libiscsi /usr/lib/
libiscsi /usr/lib/libiscsi.so
libiscsi /usr/lib/libiscsi.so.4
libiscsi /usr/lib/libiscsi.so.4.1.0
libiscsi /usr/lib/pkgconfig/
libiscsi /usr/lib/pkgconfig/libiscsi.pc
libiscsi /usr/share/
libiscsi /usr/share/man/
libiscsi /usr/share/man/man1/
libiscsi /usr/share/man/man1/iscsi-inq.1.gz
libiscsi /usr/share/man/man1/iscsi-ls.1.gz
libiscsi /usr/share/man/man1/iscsi-swp.1.gz
libiscsi /usr/share/man/man1/iscsi-test-cu.1.gz



Additional info:
* qemu-2.2.0-1


Steps to reproduce:

$ qemu-img
This task depends upon

Closed by  Doug Newgard (Scimmia)
Friday, 30 January 2015, 15:18 GMT
Reason for closing:  Not a bug
Comment by Doug Newgard (Scimmia) - Monday, 26 January 2015, 15:35 GMT
I just checked the current package, it is linked to libiscsi.so.4, not libiscsi.so.1. You can verify this with `objdump -p /usr/bin/qemu-img | grep iscsi`. This means there is probably something else on your system trying to load the old lib. Take a look at your AUR packages.
Comment by patrick (potomac) - Monday, 26 January 2015, 18:12 GMT
please run :

ldd /usr/bin/qemu-img

the correct output of this command is :

linux-vdso.so.1 (0x00007fffc4c4d000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f57e6425000)
libaio.so.1 => /usr/lib/libaio.so.1 (0x00007f57e6223000)
libiscsi.so.4 => /usr/lib/libiscsi.so.4 (0x00007f57e5fff000)
libcurl.so.4 => /usr/lib/libcurl.so.4 (0x00007f57e5d8b000)
libssh2.so.1 => /usr/lib/libssh2.so.1 (0x00007f57e5b62000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f57e5854000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007f57e564c000)
libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007f57e5447000)
libgnutls.so.28 => /usr/lib/libgnutls.so.28 (0x00007f57e5124000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f57e4f08000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f57e4c03000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f57e49ed000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f57e464a000)
libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007f57e4369000)
libidn.so.11 => /usr/lib/libidn.so.11 (0x00007f57e4135000)
libssl.so.1.0.0 => /usr/lib/libssl.so.1.0.0 (0x00007f57e3ec5000)
libcrypto.so.1.0.0 => /usr/lib/libcrypto.so.1.0.0 (0x00007f57e3ab3000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00007f57e3866000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007f57e3581000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00007f57e334f000)
libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x00007f57e314b000)
libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f57e2edc000)
/lib64/ld-linux-x86-64.so.2 (0x00007f57e663b000)
libp11-kit.so.0 => /usr/lib/libp11-kit.so.0 (0x00007f57e2c76000)
libtasn1.so.6 => /usr/lib/libtasn1.so.6 (0x00007f57e2a63000)
libnettle.so.4 => /usr/lib/libnettle.so.4 (0x00007f57e2835000)
libhogweed.so.2 => /usr/lib/libhogweed.so.2 (0x00007f57e2606000)
libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007f57e238f000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f57e217d000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f57e1f79000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00007f57e1d6c000)
libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0x00007f57e1b68000)
libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007f57e1950000)
libffi.so.6 => /usr/lib/libffi.so.6 (0x00007f57e1747000)
Comment by Doug Newgard (Scimmia) - Monday, 26 January 2015, 18:19 GMT
No, please do not run ldd. ldd is recursive so it won't really help us here.
Comment by Doug Newgard (Scimmia) - Friday, 30 January 2015, 05:12 GMT
ping vmaffione, any response?
Comment by Vincenzo Maffione (vmaffione) - Friday, 30 January 2015, 07:49 GMT
Sorry for the late response.

My `objdump -p /usr/bin/qemu-img | grep iscsi` output seems good:
NEEDED libiscsi.so.4

However, the problem is still there. What should I do?
Comment by Vincenzo Maffione (vmaffione) - Friday, 30 January 2015, 08:03 GMT
These are my AUR packages:

adduser 1.15-5
cloog 0.18.1-3
fspcc 1.7-1
isl 0.13-1
mininet 2.1.0p1-1
netmap 3.18-1
xen 4.4.1-3

I tried objdump on these, but I don't see conflicts w.r.t. libiscsi.

Actually, xen uses qemu, but checking this

$ A=$(pacman -Ql xen | cut -d' ' -f 2)
$ for a in $A; do objdump -p $a 2> /dev/null | grep scsi; done

I only got this
NEEDED libiscsi.so.4
NEEDED libiscsi.so.4
NEEDED libiscsi.so.4
NEEDED libiscsi.so.4
NEEDED libiscsi.so.4

That seems to be ok.

Comment by Doug Newgard (Scimmia) - Friday, 30 January 2015, 08:12 GMT
I guess the first thing would be to make sure you're actually running qemu-img from the package, try `which qemu-img`.

After that, you can try lddtree from the pax-utils package.
Comment by Vincenzo Maffione (vmaffione) - Friday, 30 January 2015, 08:12 GMT
Ahh, found it (thanks strace).

qemu official package installs binaries in /usr/bin, but for some reason I don't know I still have other qemu old binaries in /usr/local/bin, so that when running

$ qemu-img

bash was actually finding /usr/local/bin/qemu-img instead of /usr/bin/qemu-img.
And, of course, /usr/local/bin/qemu-img is linked agains libiscsi.so.1.

No idea why I have these old binaries - but could be my fault (e.g. 'make install' manual installation, even if I don't remember having done that).
Comment by Vincenzo Maffione (vmaffione) - Friday, 30 January 2015, 08:13 GMT
Sorry didn't see your last comment. You were right.

Loading...