Qemu: undefined symbol: libusb_alloc_streams

Since the recent upgrade, I am unable to launch qemu-system-x86_64. The error I get is:

qemu-system-x86_64: symbol lookup error: qemu-system-x86_64: undefined symbol: libusb_alloc_streams

It looks like libusb hasn’t been updated in a while, qemu did just get an update today in Arch, but it doesn’t seem to have any side effects for libusb linking.

I’ve tried re-compiling both packages from Arch repos, hoping that compiling against the libusb installed on the system might fix something, but no dice. Does anybody have an suggestions?

(Note: I only attempted the re-compile via upstream sources as a troubleshooting step, this is not the norm for my system. After seeing it didn’t fix the issue, I re-installed the official versions.)

I don’t know how I missed this, but the solution ended up pretty simple. I installed a 3rd party SDK which included its own libusb, which installed into /usr/local/lib. Of course, that took priority over /usr/lib/libusb. My fault!

I fixed this by using patchelf --set-rpath /path/to/libs /path/to/executable. This tells the executable to look for libraries in an arbitrary, non-standard path before trying the standard paths.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.