qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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 :|

  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).