qemu-system-aarch64:未定义符号:libusb_free_streams

时间:2018-07-23 09:25:40

标签: qemu libusb-1.0

在Ubuntu上使用qemu时遇到问题

hoan@hoan-pfiev09:~$ qemu-system-aarch64 
qemu-system-aarch64: symbol
lookup error: qemu-system-aarch64: undefined symbol:
libusb_free_streams hoan@hoan-pfiev09:~$

(实际上,我要运行的命令:qemu-system-aarch64 -m 1024 -cpu cortex-a57 -M virt -nographic -kernel openwrt-arm64-qemu-virt.Image

尽管我使用命令sudo apt-get install libusb-1.0-0-dev安装了libusb,但无法解决此问题。

hoan@hoan-pfiev09:~$ ldd /usr/bin/qemu-system-aarch64 | grep usb    libusb-1.0.so.0 => /usr/local/lib/libusb-1.0.so.0 (0x00007f2bc8849000)  libusbredirparser.so.1 => /usr/lib/x86_64-linux-gnu/libusbredirparser.so.1 (0x00007f2bc8641000) hoan@hoan-pfiev09:~$

该如何解决?

hoan@hoan-pfiev09:~$ ldd /usr/bin/qemu-system-aarch64 |grep usb     libusb-1.0.so.0 => /usr/local/lib/libusb-1.0.so.0 (0x00007f705b013000)  libusbredirparser.so.1 => /usr/lib/x86_64-linux-gnu/libusbredirparser.so.1 (0x00007f705ae0b000) hoan@hoan-pfiev09:~$  hoan@hoan-pfiev09:~$  hoan@hoan-pfiev09:~$ ls /usr/local/lib/libusb-1.0.* -lia 14156758 -rw-r--r-- 1 root root 598258  7月 23 19:25 /usr/local/lib/libusb-1.0.a 14156755 -rwxr-xr-x 1 root root    954  7月 23 19:25 /usr/local/lib/libusb-1.0.la 14156754 lrwxrwxrwx 1 root root     19  7月 23 19:25 /usr/local/lib/libusb-1.0.so -> libusb-1.0.so.0.1.0 14156753 lrwxrwxrwx 1 root root     19  7月 23 19:25 /usr/local/lib/libusb-1.0.so.0 -> libusb-1.0.so.0.1.0 14156267
-rwxr-xr-x 1 root root 343240  7月 23 19:25 /usr/local/lib/libusb-1.0.so.0.1.0 hoan@hoan-pfiev09:~$

hoan@hoan-pfiev09:~$ strings /usr/local/lib/libusb-1.0.a | grep libusb_free_streams hoan@hoan-pfiev09:~$

添加更多信息

  

hoan @ hoan-pfiev09:〜$ ldd / usr / bin / qemu-system-aarch64 | grep USB     libusb-1.0.so.0 => /usr/local/lib/libusb-1.0.so.0   (0x00007f00a6281000)libusbredirparser.so.1 =>   /usr/lib/x86_64-linux-gnu/libusbredirparser.so.1(0x00007f00a6079000)   hoan @ hoan-pfiev09:〜$

3 个答案:

答案 0 :(得分:1)

此错误也已通过命令

修复
  

hoan @ hoan-pfiev09:〜$ sudo ldconfig / lib / x86_64-linux-gnu /

答案 1 :(得分:0)

我已经看过几次类似的事情。我的自我猜测是,实际上,这个特定的QEMU软件包需要较新的libusb版本。因此,解决方案是将您的libusb升级到最新版本。或至少满足您的QEMU安装要求的版本。

此外,库名称通常是指向特定库版本的符号链接。您可能安装了较新版本的库,但是该链接仍指向较旧的版本。请检查libusb中的/usr/local/lib/库,并检查链接/lib/XXX/libusb-1.0.so

答案 2 :(得分:0)

感谢您阅读我的问题。 我找到了答案 [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=711589][1] 这里有一个链接库不正确。

通过命令固定:

sudo ln -sf /lib/x86_64-linux-gnu/libusb-1.0.so.0  /usr/local/lib/libusb-1.0.so.0