From: "Daniel P. Berrangé" <berrange@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Cc: "Fam Zheng" <fam@euphon.net>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Thomas Huth" <thuth@redhat.com>,
qemu-block@nongnu.org, "Michael Tokarev" <mjt@tls.msk.ru>,
qemu-devel@nongnu.org, "Bharata B Rao" <bharata@linux.ibm.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Niels de Vos" <ndevos@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 0/9] configure: Fix softmmu --static linking
Date: Mon, 1 Jul 2019 15:36:57 +0100 [thread overview]
Message-ID: <20190701143657.GM3573@redhat.com> (raw)
In-Reply-To: <20190614100718.14019-1-philmd@redhat.com>
On Fri, Jun 14, 2019 at 12:07:09PM +0200, Philippe Mathieu-Daudé wrote:
> Hi,
>
> Apparently QEMU static linking is slowly bitroting. Obviously it
> depends the libraries an user has installed, anyway it seems there
> are not much testing done.
Bitrotting implies that it actually worked in the first place.
AFAIK, configure has never been capable of auto-enabling the
correct set of libraries for static linking, if you have the
equiv dyn libraries present.
I always assumed that anyone who is static loinking QEMU is
passing a big long list of --disable-XXXX args to turn off
all the 3rd party libs for which they don't have a static
build present.
> This series fixes few issues, enough to build QEMU on a Ubuntu
> 18.04 host.
>
> Peter commented on v1:
>
> The main reason for supporting static linking is so we can build
> the user-mode emulators. Almost always the problems with
> static linking the softmmu binaries and the tools are
> issues with the distro's packaging of the static libraries
> (pkg-config files which specify things that don't work for
> static is a common one).
>
> So we could put in a lot of checking of "is what pkg-config
> tells us broken". Or we could just say "we don't support static
> linking for anything except the usermode binaries". We
> should probably phase in deprecation of that because it's
> possible somebody's using it seriously, but it seems like
> a fairly weird thing to do to me.
>
> I share his view on this (restricting static linking to qemu-user)
> but since the work was already done when I read his comment, I still
> send the v2.
I share Peter's view that we ought to restrict static linking to be
allowed exclusively for user-mode-only builds of QEMU. This is a use
case with a compelling reason to need static builds. It is not bitrotting
as the main distros all do a static user-mode only QEMU build, alongside
the main everything, fully dynamic build.
Static builds of system emulators & other tools get essentially no
testing by developers, distros, or our CI systems. If they do work
it is largely by luck, and likely requires the user to pass many
--disable-XXX flags. While your patches do make configure a bit
nicer in this respect, if we're going to deprecate static builds
of non-user-mode parts, then making static builds easier feels
undesirable.
Lets just get a deprecation warning in right now for this imminent
release.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2019-07-01 14:52 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-14 10:07 [Qemu-devel] [PATCH v2 0/9] configure: Fix softmmu --static linking Philippe Mathieu-Daudé
2019-06-14 10:07 ` [Qemu-devel] [PATCH v2 1/9] configure: Only generate GLUSTERFS variables if glusterfs is usable Philippe Mathieu-Daudé
2019-07-01 14:29 ` Daniel P. Berrangé
2019-06-14 10:07 ` [Qemu-devel] [PATCH v2 2/9] configure: Link test before auto-enabling GlusterFS libraries Philippe Mathieu-Daudé
2019-06-14 10:07 ` [Qemu-devel] [PATCH v2 3/9] configure: Link test before auto-enabling libusb library Philippe Mathieu-Daudé
2019-06-14 10:07 ` [Qemu-devel] [PATCH v2 4/9] configure: Link test before auto-enabling libusbredir library Philippe Mathieu-Daudé
2019-06-14 10:07 ` [Qemu-devel] [PATCH v2 5/9] configure: Link test before auto-enabling PulseAudio library Philippe Mathieu-Daudé
2019-06-14 10:07 ` [Qemu-devel] [PATCH v2 6/9] configure: Link test before auto-enabling OpenGL libraries Philippe Mathieu-Daudé
2019-06-14 10:07 ` [Qemu-devel] [PATCH v2 7/9] configure: Link test before auto-enabling GTK libraries Philippe Mathieu-Daudé
2019-06-14 10:07 ` [Qemu-devel] [PATCH v2 8/9] tests/docker: Kludge for missing libunistring.so symlink on Ubuntu 18.04 Philippe Mathieu-Daudé
2019-06-14 10:07 ` [Qemu-devel] [PATCH v2 9/9] .travis.yml: Test softmmu static linking Philippe Mathieu-Daudé
2019-07-01 14:08 ` [Qemu-trivial] [PATCH v2 0/9] configure: Fix softmmu --static linking Philippe Mathieu-Daudé
2019-07-01 14:08 ` [Qemu-devel] " Philippe Mathieu-Daudé
2019-07-01 14:36 ` Daniel P. Berrangé [this message]
2019-07-01 14:43 ` Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190701143657.GM3573@redhat.com \
--to=berrange@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=bharata@linux.ibm.com \
--cc=fam@euphon.net \
--cc=kraxel@redhat.com \
--cc=mjt@tls.msk.ru \
--cc=ndevos@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.