qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 00/13] Testing, build system and misc patches


From: Peter Maydell
Subject: Re: [PULL 00/13] Testing, build system and misc patches
Date: Fri, 3 Sep 2021 17:49:46 +0100

On Fri, 3 Sept 2021 at 17:37, Alex Bennée <alex.bennee@linaro.org> wrote:
> Thomas Huth <thuth@redhat.com> writes:
> > On 03/09/2021 15.22, Peter Maydell wrote:
> >> This provokes a new warning from meson on a linux-static build:
> >> Run-time dependency appleframeworks found: NO (tried framework)
> >> Library rt found: YES
> >> Found pkg-config: /usr/bin/pkg-config (0.29.1)
> >> WARNING: Static library 'gbm' not found for dependency 'gbm', may not
> >> be statically linked
> >> Run-time dependency gbm found: YES 20.0.8
> >> Dependency libpng found: YES 1.6.34 (cached)
> >> Dependency libjpeg found: YES unknown (cached)
> >> If we're building statically and we can't find a static
> >> library then (a) we shouldn't print a WARNING and
> >> (b) we shouldn't then conclude that we've found gdm.
> >
> > Hmmm, no clue what's wrong here, since I basically did declare it like
> > all other libraries are declared, too (so this problem should have
> > shown up somewhere else already?)... Paolo, do you have any ideas
> > what's going on here?
>
> In attempting to replicate I found all the dynamic libs blow up:

>   WARNING: Static library 'xkbcommon' not found for dependency 'xkbcommon', 
> may not be statically l
>   Run-time dependency xkbcommon found: YES 1.0.3

I do vaguely recall complaining about new meson warnings for
static library detection in the past as well:
https://lore.kernel.org/qemu-devel/CAFEAcA8chPqS0keyGv0vBgNgacnMo95gA3LZDU2QfmteQ=4UZg@mail.gmail.com/
https://lore.kernel.org/qemu-devel/CAFEAcA_-cNmt-sY3nqnGkpUqET86M6-82rf-Uv3QkwCR14kYsw@mail.gmail.com/
https://lore.kernel.org/qemu-devel/CAFEAcA8xHxCGhh2hibsdCxZrYRRU+xcwVsa85O7KL9BsmW7ohw@mail.gmail.com/

> So is this a general problem with static libs. BTW I didn't catch this
> because I only build user with --static as I thought system --static was
> flakey anyway.

I'm not doing a system build in this case... Looking at some of
those older threads, it looks like part of the answer is that
for dependencies that we don't need for linux-user mode we should
guard the test with some suitable if condition so we don't create
the dependency unless we're going to use it, eg the brlapi check
uses "if not get_option('brlapi').auto() or have_system", rbd
has a similar thing involving have_block, etc.

But I think there is an underlying meson bug here which that kind of
use of an if is merely working around: if we ask for a static library
it should not give us a dynamic library.

-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]