Bug 1515

Summary: qemu-system-* fails to run on Ubuntu 10.10 (host contamination?)
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Darren Hart <dvhart>
Component: coreAssignee: Saul Wold <sgw>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: Medium CC: meta.mr.watcher, meta.watcher
Version: 1.0   
Target Milestone: 1.2   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---
Bug Depends on:    
Bug Blocks: 1392    
Attachments:
Description Flags
log.do_configure none

Description Darren Hart 2011-09-22 12:02:51 UTC
Trying to run "runqemu qemumips core-image-rt" results in:

$ runqemu qemumips core-image-rt 
Assuming core-image-rt really means /build/poky/qemumips/tmp/deploy/images/core-image-rt-qemumips.ext3

Continuing with the following parameters:
KERNEL: [/build/poky/qemumips/tmp/deploy/images/vmlinux-qemumips.bin]
ROOTFS: [/build/poky/qemumips/tmp/deploy/images/core-image-rt-qemumips.ext3]
FSTYPE: [ext3]
Setting up tap interface under sudo
Acquiring lockfile for tap0...
WARNING: distccd not present, no distcc support loaded.
Running qemu-system-mips...
/build/poky/qemumips/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-mips -kernel /build/poky/qemumips/tmp/deploy/images/vmlinux-qemumips.bin -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no -M malta -hda /build/poky/qemumips/tmp/deploy/images/core-image-rt-qemumips.ext3 -no-reboot -vga cirrus -show-cursor -usb -usbdevice wacom-tablet -no-reboot -m 128 --append "root=/dev/hda rw console=ttyS0 console=tty ip=192.168.7.2::192.168.7.1:255.255.255.0 mem=128M "
/build/poky/qemumips/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-mips: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory
Set 'tap0' nonpersistent
Releasing lockfile of preconfigured tap device 'tap0'

Checking ldd results in:

$ ldd /build/poky/qemumips/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-mips        linux-vdso.so.1 =>  (0x00007fff3abff000)
        librt.so.1 => /lib/librt.so.1 (0x00007fb6a2265000)
        libattr.so.1 => /lib/libattr.so.1 (0x00007fb6a2060000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007fb6a1e42000)
        libutil.so.1 => /lib/libutil.so.1 (0x00007fb6a1c3f000)
        libcurl.so.4 => not found
        libncurses.so.5 => /build/poky/qemumips/tmp/sysroots/x86_64-linux/usr/bin/../../usr/lib/libncurses.so.5 (0x00007fb6a1a1c000)
        libtinfo.so.5 => /build/poky/qemumips/tmp/sysroots/x86_64-linux/usr/bin/../../usr/lib/libtinfo.so.5 (0x00007fb6a17f4000)
        libasound.so.2 => /build/poky/qemumips/tmp/sysroots/x86_64-linux/usr/bin/../../usr/lib/libasound.so.2 (0x00007fb6a1506000)
        libpng12.so.0 => /lib/libpng12.so.0 (0x00007fb6a12df000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x00007fb6a104b000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fb6a0d15000)
        libm.so.6 => /lib/libm.so.6 (0x00007fb6a0a91000)
        libz.so.1 => /build/poky/qemumips/tmp/sysroots/x86_64-linux/usr/bin/../../usr/lib/libz.so.1 (0x00007fb6a087a000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007fb6a0676000)
        libGL.so.1 => /usr/lib/mesa/libGL.so.1 (0x00007fb6a0404000)
        libGLU.so.1 => /usr/lib/libGLU.so.1 (0x00007fb6a0192000)
        libc.so.6 => /lib/libc.so.6 (0x00007fb69fe0f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fb6a247a000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fb69fbf1000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x00007fb69f9df000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007fb69f7dc000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007fb69f5d5000)
        libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007fb69f3cf000)
        libdrm.so.2 => /lib/libdrm.so.2 (0x00007fb69f1c4000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fb69eebd000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fb69eca7000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fb69eaa4000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fb69e89d000)

There seems to be an interesting mix of host and sysroot libraries linked to the qemu-system-mips binary.

Is this a host contamination issue or a missing host dependencies issue? Ubuntu 10.10 does not have a libcurl4 package (only dev,doc,dbg etc)
Comment 1 Darren Hart 2011-09-22 14:30:44 UTC
Installing libcurl4-dev and manually creating the libcurl.so.4 symlink got this working again for me - but this is not a resolution.

lrwxrwxrwx 1 root root     23 2011-09-22 14:22 libcurl-gnutls.so -> libcurl-gnutls.so.4.2.0
lrwxrwxrwx 1 root root     17 2011-09-22 14:22 libcurl.so -> libcurl-gnutls.so
lrwxrwxrwx 1 root root     10 2011-09-22 14:23 libcurl.so.4 -> libcurl.so
Comment 2 Darren Hart 2011-09-22 14:31:07 UTC
Also applies to qemuppc.
Comment 3 Darren Hart 2011-09-22 15:50:19 UTC
At Saul's request I checked to see if libX11 or libcurl had been built natively. I did not see either tmp/work/x86_64-linux.
Comment 4 Saul Wold 2011-09-22 17:11:58 UTC
Can you please send the log.do_configure for qemu-native I want to see what it looked for.
Comment 5 Darren Hart 2011-09-23 09:24:17 UTC
Created attachment 250 [details]
log.do_configure

I didn't have a log.do_configure as this build pulled qemu-native in from sstate. I did a cleanall and built qemu-native, log.do_configure attached. It found the gnutls version of curl (also on my host system) so it runs without failure now, but it links to mostly host libraries. Current ldd:

$ ldd /build/poky/qemuppc/tmp/sysroots/x86_64-linux/usr/bin/qemu-system-ppc
        linux-vdso.so.1 =>  (0x00007fff0154b000)
        librt.so.1 => /lib/librt.so.1 (0x00007f0601dcb000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f0601bae000)
        libutil.so.1 => /lib/libutil.so.1 (0x00007f06019aa000)
        libcurl-gnutls.so.4 => /usr/lib/libcurl-gnutls.so.4 (0x00007f0601758000)
        libncurses.so.5 => /build/poky/qemuppc/tmp/sysroots/x86_64-linux/usr/bin/../../usr/lib/libncurses.so.5 (0x00007f0601536000)
        libtinfo.so.5 => /build/poky/qemuppc/tmp/sysroots/x86_64-linux/usr/bin/../../usr/lib/libtinfo.so.5 (0x00007f060130d000)
        libasound.so.2 => /build/poky/qemuppc/tmp/sysroots/x86_64-linux/usr/bin/../../usr/lib/libasound.so.2 (0x00007f060101f000)
        libuuid.so.1 => /build/poky/qemuppc/tmp/sysroots/x86_64-linux/usr/bin/../../usr/lib/libuuid.so.1 (0x00007f0600e1a000)
        libpng12.so.0 => /lib/libpng12.so.0 (0x00007f0600bf3000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x00007f060095f000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f0600629000)
        libm.so.6 => /lib/libm.so.6 (0x00007f06003a5000)
        libz.so.1 => /build/poky/qemuppc/tmp/sysroots/x86_64-linux/usr/bin/../../usr/lib/libz.so.1 (0x00007f060018e000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f05fff8a000)
        libGL.so.1 => /usr/lib/mesa/libGL.so.1 (0x00007f05ffd18000)
        libGLU.so.1 => /usr/lib/libGLU.so.1 (0x00007f05ffaa6000)
        libc.so.6 => /lib/libc.so.6 (0x00007f05ff723000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f0601fe1000)
        libidn.so.11 => /usr/lib/libidn.so.11 (0x00007f05ff4ef000)
        liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2 (0x00007f05ff2e1000)
        libldap_r-2.4.so.2 => /usr/lib/libldap_r-2.4.so.2 (0x00007f05ff096000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00007f05fee61000)
        libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0x00007f05febbf000)
        libgcrypt.so.11 => /lib/libgcrypt.so.11 (0x00007f05fe947000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f05fe729000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f05fe517000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f05fe313000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f05fe10d000)
        libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007f05fdf07000)
        libdrm.so.2 => /lib/libdrm.so.2 (0x00007f05fdcfb000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f05fd9f5000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f05fd7df000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x00007f05fd5c5000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x00007f05fd3ab000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007f05fd0e9000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00007f05fcec2000)
        libcom_err.so.2 => /build/poky/qemuppc/tmp/sysroots/x86_64-linux/usr/bin/../../usr/lib/libcom_err.so.2 (0x00007f05fccbe000)
        libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00007f05fcab6000)
        libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00007f05fc8b2000)
        libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0x00007f05fc6a1000)
        libgpg-error.so.0 => /lib/libgpg-error.so.0 (0x00007f05fc49d000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f05fc299000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f05fc093000)
Comment 6 Saul Wold 2011-09-23 11:27:59 UTC
This is related to the host system libraries possibly changing due to an upgrade.

*** This bug has been marked as a duplicate of bug 1516 ***