* meson incorrectly detects libcurl as present even if it spots that its dependencies are missing
@ 2021-04-15 12:29 Peter Maydell
2021-04-15 13:06 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 2+ messages in thread
From: Peter Maydell @ 2021-04-15 12:29 UTC (permalink / raw)
To: QEMU Developers; +Cc: Paolo Bonzini
My build of system-emulation with --enable-static seems to have
broken at some point since the last time I had cause to run it.
Looking at the meson-log the cause seems to be that meson enables
libcurl support even though it has found that libcurl's dependencies
aren't present as static libs:
Determining dependency 'libcurl' with pkg-config executable
'/usr/bin/pkg-config'
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --modversion libcurl` -> 0
7.58.0
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config --cflags libcurl` -> 0
-I/usr/include/x86_64-linux-gnu
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config libcurl --libs --static` -> 0
-L/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu/mit-krb5
-lcurl -lnghttp2 -lidn2 -lrtmp -lpsl -lnettle -lgnutls
-Wl,-Bsymbolic-functions -Wl,-z,relro -lgssapi_krb5 -lkrb5 -lk5crypto
-lcom_err -llber -lldap -llber -lz
PKG_CONFIG_PATH:
Called `/usr/bin/pkg-config libcurl --libs --static` -> 0
-L/usr/lib/x86_64-linux-gnu/mit-krb5 -lcurl -lnghttp2 -lidn2 -lrtmp
-lpsl -lnettle -lgnutls -Wl,-Bsymbolic-functions -Wl,-z,relro
-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -llber -lldap -llber -lz
None of 'PKG_CONFIG_PATH' are defined in the environment, not changing
global flags.
WARNING: Static library 'nghttp2' not found for dependency 'libcurl',
may not be statically linked
WARNING: Static library 'psl' not found for dependency 'libcurl', may
not be statically linked
WARNING: Static library 'gssapi_krb5' not found for dependency
'libcurl', may not be statically linked
WARNING: Static library 'krb5' not found for dependency 'libcurl', may
not be statically linked
WARNING: Static library 'k5crypto' not found for dependency 'libcurl',
may not be statically linked
Run-time dependency libcurl found: YES 7.58.0
This seems wrong to me -- if meson is smart enough to spot that
it's not actually going to be able to statically link libcurl
because of all those missing static libs, it should determine that
it has not found a working libcurl, rather than saying that it has
and letting the build proceed until the final link of executables fails.
thanks
-- PMM
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: meson incorrectly detects libcurl as present even if it spots that its dependencies are missing
2021-04-15 12:29 meson incorrectly detects libcurl as present even if it spots that its dependencies are missing Peter Maydell
@ 2021-04-15 13:06 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 2+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-04-15 13:06 UTC (permalink / raw)
To: Peter Maydell, QEMU Developers; +Cc: Paolo Bonzini
On 4/15/21 2:29 PM, Peter Maydell wrote:
> My build of system-emulation with --enable-static seems to have
> broken at some point since the last time I had cause to run it.
Maybe a side-effect of commit d7dedf428fe tri-state?
("meson: accept either shared or static libraries if --disable-static")
> Looking at the meson-log the cause seems to be that meson enables
> libcurl support even though it has found that libcurl's dependencies
> aren't present as static libs:
>
> Determining dependency 'libcurl' with pkg-config executable
> '/usr/bin/pkg-config'
> PKG_CONFIG_PATH:
> Called `/usr/bin/pkg-config --modversion libcurl` -> 0
> 7.58.0
> PKG_CONFIG_PATH:
> Called `/usr/bin/pkg-config --cflags libcurl` -> 0
> -I/usr/include/x86_64-linux-gnu
> PKG_CONFIG_PATH:
> Called `/usr/bin/pkg-config libcurl --libs --static` -> 0
> -L/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu/mit-krb5
> -lcurl -lnghttp2 -lidn2 -lrtmp -lpsl -lnettle -lgnutls
> -Wl,-Bsymbolic-functions -Wl,-z,relro -lgssapi_krb5 -lkrb5 -lk5crypto
> -lcom_err -llber -lldap -llber -lz
> PKG_CONFIG_PATH:
> Called `/usr/bin/pkg-config libcurl --libs --static` -> 0
> -L/usr/lib/x86_64-linux-gnu/mit-krb5 -lcurl -lnghttp2 -lidn2 -lrtmp
> -lpsl -lnettle -lgnutls -Wl,-Bsymbolic-functions -Wl,-z,relro
> -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -llber -lldap -llber -lz
> None of 'PKG_CONFIG_PATH' are defined in the environment, not changing
> global flags.
> WARNING: Static library 'nghttp2' not found for dependency 'libcurl',
> may not be statically linked
> WARNING: Static library 'psl' not found for dependency 'libcurl', may
> not be statically linked
> WARNING: Static library 'gssapi_krb5' not found for dependency
> 'libcurl', may not be statically linked
> WARNING: Static library 'krb5' not found for dependency 'libcurl', may
> not be statically linked
> WARNING: Static library 'k5crypto' not found for dependency 'libcurl',
> may not be statically linked
> Run-time dependency libcurl found: YES 7.58.0
>
>
> This seems wrong to me -- if meson is smart enough to spot that
> it's not actually going to be able to statically link libcurl
> because of all those missing static libs, it should determine that
> it has not found a working libcurl, rather than saying that it has
> and letting the build proceed until the final link of executables fails.
>
> thanks
> -- PMM
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-04-15 13:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-15 12:29 meson incorrectly detects libcurl as present even if it spots that its dependencies are missing Peter Maydell
2021-04-15 13:06 ` Philippe Mathieu-Daudé
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).