From: "Daniel P. Berrange" <berrange@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PULL v3 00/12] Final changes for 2.4-rc0
Date: Fri, 24 Jul 2015 13:52:38 +0100 [thread overview]
Message-ID: <20150724125238.GA12473@redhat.com> (raw)
In-Reply-To: <CAFEAcA_EDfhFQKkbnGo3tXaj3hQ+uQkQnXdQ8p=bmD-S1_ej8g@mail.gmail.com>
On Wed, Jul 08, 2015 at 04:48:27PM +0100, Peter Maydell wrote:
> On 8 July 2015 at 16:21, Paolo Bonzini <pbonzini@redhat.com> wrote:
> >
> >
> > On 08/07/2015 16:46, Peter Maydell wrote:
> >> I'm afraid this fails to link on my linux-static build:
> >>
> >> c++ -I/usr/include/pixman-1 -Werror -m64 -D_GNU_SOURCE
> >> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
> >> -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes
> >> -fno-strict-aliasing -fno-common -Wendif-labels
> >> -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
> >> -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
> >> -Wold-style-definition -Wtype-limits -fstack-protector-all
> >> -I/usr/include/p11-kit-1 -I/usr/include/libpng12
> >> -I/usr/include/libusb-1.0
> >> -I/home/petmay01/linaro/qemu-for-merges/tests -pthread
> >> -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
> >> -g -Wl,--warn-common -m64 -static -g -o qemu-nbd qemu-nbd.o async.o
> >> thread-pool.o nbd.o block.o blockjob.o main-loop.o iohandler.o
> >> qemu-timer.o aio-posix.o qemu-io-cmds.o qemu-coroutine.o
> >> qemu-coroutine-lock.o qemu-coroutine-io.o qemu-coroutine-sleep.o
> >> coroutine-ucontext.o block/raw_bsd.o block/qcow.o block/vdi.o
> >> block/vmdk.o block/cloop.o block/bochs.o block/vpc.o block/vvfat.o
> >> block/qcow2.o block/qcow2-refcount.o block/qcow2-cluster.o
> >> block/qcow2-snapshot.o block/qcow2-cache.o block/qed.o
> >> block/qed-gencb.o block/qed-l2-cache.o block/qed-table.o
> >> block/qed-cluster.o block/qed-check.o block/vhdx.o block/vhdx-endian.o
> >> block/vhdx-log.o block/quorum.o block/parallels.o block/blkdebug.o
> >> block/blkverify.o block/block-backend.o block/snapshot.o block/qapi.o
> >> block/raw-posix.o block/linux-aio.o block/null.o block/mirror.o
> >> block/io.o block/throttle-groups.o block/nbd.o block/nbd-client.o
> >> block/sheepdog.o block/accounting.o block/write-threshold.o
> >> block/dmg.o libqemuutil.a libqemustub.a -lz -laio -lm -pthread
> >> -lgthread-2.0 -lglib-2.0 -lpcre -lz -lrt -lz -lcap-ng -lvdeplug
> >> -luuid -lgcrypt -R/usr/lib/x86_64-linux-gnu -lgnutls -lgcrypt
> >> -lgpg-error -ltasn1 -lz -lp11-kit -lutil
> >> c++: error: unrecognized command line option ‘-R’
> >>
> >> (That's configure arguments '--cc=ccache gcc' '--enable-debug'
> >> '--static' '--disable-system', on an x86-64 Linux host.)
> >
> > You don't have a static gnutls installed, you need to add either
> > --disable-gnutls or --disable-tools.
>
> Shouldn't configure notice this and disable tls ?
Ok, I can reproduce this easily enough with those configure args on
Fedora too. The original configure check would use pkg-config to get
the compile/linker flags and then invoke 'compile_prog' to test
them. The new configure check uses pkg-config too, but skips the
'compile_prog' test, which is why you see a difference in behaviour
with these crypto patches applied.
To compare before and after state though, if I go back to before my
crypto patches were applied, and do
./configure --enable-debug --static --disable-system && make
I get failures for many other libraries too, not least nothing seems
to check for glib2 static libs being present
LINK qemu-ga
/usr/bin/ld: cannot find -lgthread-2.0
/usr/bin/ld: cannot find -lglib-2.0
And if I install those, I get failures for a bunch of other storage
libraries too
LINK qemu-nbd
/usr/bin/ld: cannot find -liscsi
/usr/bin/ld: cannot find -lgfapi
/usr/bin/ld: cannot find -lglusterfs
/usr/bin/ld: cannot find -lgfrpc
/usr/bin/ld: cannot find -lgfxdr
/usr/bin/ld: cannot find -lssh2
/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
/usr/bin/ld: cannot find -lgssapi_krb5
/usr/bin/ld: cannot find -lkrb5
/usr/bin/ld: cannot find -lcom_err
/usr/bin/ld: cannot find -lk5crypto
/usr/bin/ld: cannot find -lcrypto
I'm happy to fix configure to check that gnutls has working static
libs, but we do have a much broader pre-existing problem in this respect.
So it seems people wanting todo static builds currently have to deal with
installing all the correct static bits upfront or manually disabling
features in configure.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
next prev parent reply other threads:[~2015-07-24 12:52 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-08 11:19 [Qemu-devel] [PULL v3 00/12] Final changes for 2.4-rc0 Paolo Bonzini
2015-07-08 14:46 ` Peter Maydell
2015-07-08 15:21 ` Paolo Bonzini
2015-07-08 15:48 ` Peter Maydell
2015-07-08 17:06 ` Paolo Bonzini
2015-07-08 18:03 ` Peter Maydell
2015-07-24 12:52 ` Daniel P. Berrange [this message]
2015-07-24 12:53 ` Paolo Bonzini
2015-07-24 13:00 ` Peter Maydell
2015-07-24 13:02 ` Paolo Bonzini
2015-07-24 13:06 ` Peter Maydell
2015-07-24 13:10 ` Daniel P. Berrange
2015-07-24 13:31 ` Peter Maydell
2015-07-24 13:48 ` Daniel P. Berrange
2015-07-24 13:50 ` Paolo Bonzini
2015-07-24 13:55 ` Paolo Bonzini
2015-07-24 14:14 ` Daniel P. Berrange
2015-07-24 14:15 ` Paolo Bonzini
2015-07-24 14:19 ` Daniel P. Berrange
2015-07-24 14:21 ` Paolo Bonzini
2015-07-24 14:25 ` Peter Maydell
2015-07-24 15:09 ` Peter Maydell
2015-07-08 20:48 ` Peter Maydell
2015-07-09 7:02 ` Paolo Bonzini
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=20150724125238.GA12473@redhat.com \
--to=berrange@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/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 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).