Similarly to commit a73e82ef912, test the library links correctly before considering it as usable.
This fixes using ./configure --static on Ubuntu 18.04: $ make subdir-aarch64-softmmu [...] LINK aarch64-softmmu/qemu-system-aarch64 /usr/bin/ld: cannot find -lusbredirparser collect2: error: ld returned 1 exit status Makefile:204: recipe for target 'qemu-system-aarch64' failed make[1]: *** [qemu-system-aarch64] Error 1 $ fgrep redir config-host.mak USB_REDIR_LIBS=-lusbredirparser $ lsb_release -cri Distributor ID: Ubuntu Release: 18.04 Codename: bionic Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> --- configure | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 2ebaa32746..0dd6e8bed3 100755 --- a/configure +++ b/configure @@ -4918,9 +4918,19 @@ fi # check for usbredirparser for usb network redirection support if test "$usb_redir" != "no" ; then if $pkg_config --atleast-version=0.6 libusbredirparser-0.5; then - usb_redir="yes" usb_redir_cflags=$($pkg_config --cflags libusbredirparser-0.5) usb_redir_libs=$($pkg_config --libs libusbredirparser-0.5) + # Packaging for the static libraries is not always correct. + # At least ubuntu 18.04 ships only shared libraries. + write_c_skeleton + if ! compile_prog "$usb_redir_cflags" "$usb_redir_libs" ; then + if test "$usb_redir" = "yes" ; then + error_exit "usbredir check failed." + fi + usb_redir="no" + else + usb_redir="yes" + fi else if test "$usb_redir" = "yes"; then feature_not_found "usb-redir" "Install usbredir devel" -- 2.20.1