qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] cannot build qemu with "--static" configure option
@ 2011-11-23 12:58 Mr Dash Four
  2011-11-23 14:10 ` Paolo Bonzini
  2011-11-23 14:18 ` Peter Maydell
  0 siblings, 2 replies; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 12:58 UTC (permalink / raw)
  To: qemu-devel

I am trying to build a static version of the qemu-[arch] executables to 
be used in chrooted environment for the target arch (which is different 
from the host). My configure is:

./configure --target-list="x86_64-softmmu arm-softmmu x86_64-linux-user 
arm-linux-user armeb-linux-user" --disable-kvm --disable-strip 
--disable-xen --disable-spice --disable-werror --static

then "make V=1". It fails with the following error:

gcc -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 
-D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef 
-Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing 
-fstack-protector-all -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 -I/home/gogo/rpmbuild/BUILD/qemu-kvm-0.15.1/libcacard 
-I/usr/include/nss3 -I/usr/include/nspr4      -I/usr/include/glib-2.0 
-I/usr/lib64/glib-2.0/include   -I qapi-generated -O2 -g  
-Wl,--warn-common -m64 -static -g  -o qemu-ga qemu-ga.o 
qga/guest-agent-command-state.o qga/guest-agent-commands.o qemu-tool.o 
qemu-error.o error.o osdep.o oslib-posix.o qemu-thread-posix.o trace.o 
cutils.o cache-utils.o qemu-malloc.o qemu-option.o module.o async.o 
nbd.o block.o aio.o aes.o qemu-config.o qemu-progress.o qemu-sockets.o 
posix-aio-compat.o compatfd.o block/raw.o block/cow.o block/qcow.o 
block/vdi.o block/vmdk.o block/cloop.o block/dmg.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/parallels.o block/nbd.o 
block/blkdebug.o block/sheepdog.o block/blkverify.o block/raw-posix.o 
qint.o qstring.o qdict.o qlist.o qfloat.o qbool.o qjson.o json-lexer.o 
json-streamer.o json-parser.o qerror.o qapi/qapi-visit-core.o 
qapi/qmp-input-visitor.o qapi/qmp-output-visitor.o 
qapi/qapi-dealloc-visitor.o qapi/qmp-registry.o qapi/qmp-dispatch.o 
qemu-timer-common.o qapi-generated/qga-qapi-visit.o 
qapi-generated/qga-qapi-types.o qapi-generated/qga-qmp-marshal.o -lssl3 
-lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl   -lrt 
-pthread  -lusbredirparser   -lz -lglib-2.0
/usr/bin/ld: cannot find -lssl3
collect2: ld returned 1 exit status
make: *** [qemu-ga] Error 1

It would indicate a missing libssl3, but the library, as far as I can 
see, is there! When I try building this without the "--static" option 
all is well - the build succeeds without any hitches. What could be the 
problem with this, what am I missing?

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 12:58 [Qemu-devel] cannot build qemu with "--static" configure option Mr Dash Four
@ 2011-11-23 14:10 ` Paolo Bonzini
  2011-11-23 14:15   ` Mr Dash Four
  2011-11-23 14:18 ` Peter Maydell
  1 sibling, 1 reply; 43+ messages in thread
From: Paolo Bonzini @ 2011-11-23 14:10 UTC (permalink / raw)
  To: qemu-devel

On 11/23/2011 01:58 PM, Mr Dash Four wrote:
> It would indicate a missing libssl3, but the library, as far as I can
> see, is there! When I try building this without the "--static" option
> all is well - the build succeeds without any hitches. What could be the
> problem with this, what am I missing?

Perhaps you lack a static version of the library.

Paolo

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 14:10 ` Paolo Bonzini
@ 2011-11-23 14:15   ` Mr Dash Four
  2011-11-23 15:24     ` Paolo Bonzini
  0 siblings, 1 reply; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 14:15 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel


>> It would indicate a missing libssl3, but the library, as far as I can
>> see, is there! When I try building this without the "--static" option
>> all is well - the build succeeds without any hitches. What could be the
>> problem with this, what am I missing?
>
> Perhaps you lack a static version of the library.
What do you mean by that? The *.la files? I wasn't aware that there are 
any...

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 12:58 [Qemu-devel] cannot build qemu with "--static" configure option Mr Dash Four
  2011-11-23 14:10 ` Paolo Bonzini
@ 2011-11-23 14:18 ` Peter Maydell
  2011-11-23 14:39   ` Mr Dash Four
  1 sibling, 1 reply; 43+ messages in thread
From: Peter Maydell @ 2011-11-23 14:18 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: qemu-devel

On 23 November 2011 12:58, Mr Dash Four <mr.dash.four@googlemail.com> wrote:
> I am trying to build a static version of the qemu-[arch] executables to be
> used in chrooted environment for the target arch (which is different from
> the host). My configure is:
>
> ./configure --target-list="x86_64-softmmu arm-softmmu x86_64-linux-user
> arm-linux-user armeb-linux-user" --disable-kvm --disable-strip --disable-xen
> --disable-spice --disable-werror --static
>
> then "make V=1". It fails with the following error:

You're trying to build the -softmmu targets with --static here too
(which means we try to compile a bunch of things that were never intended
to be run as static executables that way).
You're probably better off doing two separate configure and build
runs, one with just the -linux-user targets and --static, and the other
with just the -softmmu targets (and no --static).

Having said that, building arm-softmmu with --static works for me:
which version of QEMU are you trying to build? (we might have fixed
this in the 1.0 release candidate, so that's worth testing.)

-- PMM

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 14:18 ` Peter Maydell
@ 2011-11-23 14:39   ` Mr Dash Four
  0 siblings, 0 replies; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 14:39 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel


>> ./configure --target-list="x86_64-softmmu arm-softmmu x86_64-linux-user
>> arm-linux-user armeb-linux-user" --disable-kvm --disable-strip --disable-xen
>> --disable-spice --disable-werror --static
>>
>> then "make V=1". It fails with the following error:
>>     
>
> You're trying to build the -softmmu targets with --static here too
> (which means we try to compile a bunch of things that were never intended
> to be run as static executables that way).
>   
I see, noted!

> You're probably better off doing two separate configure and build
> runs, one with just the -linux-user targets and --static, and the other
> with just the -softmmu targets (and no --static).
>   
In other words:

1. ./configure --target-list="x86_64-linux-user arm-linux-user 
armeb-linux-user" --disable-kvm --disable-strip --disable-xen 
--disable-spice --disable-werror --static && make V=1
2. ./configure --target-list="x86_64-softmmu arm-softmmu 
x86_64-linux-user arm-linux-user armeb-linux-user" --disable-kvm 
--disable-strip --disable-xen --disable-spice --disable-werror && make V=1

> Having said that, building arm-softmmu with --static works for me:
> which version of QEMU are you trying to build? (we might have fixed
> this in the 1.0 release candidate, so that's worth testing.)
>   
OK, this is the problem I am facing: I have quad core machine with 
Fedora Core on it. I am using debootstrap (Fedora's own package!) to 
build chrooted environment for arm using binfmt_misc's unique 
capabilities to point to a statically-built qemu-arm to be used when 
debootstrap executes various arm-based binaries in the chrooted environment.

Now, in *all* Fedora-supplied QEMU packages there are no 
statically-built executables, just qemu-[arch] and qemu-[arch]-system - 
both of which are dynamically linked. That is of no use to me whatsoever 
because when deboostrap chroots to the arm-based root the libraries qemu 
needs in order to run won't be there!

So, what I am trying to do is build static qemu - "qemu-arm-static", 
which is "self-contained" and by placing it in my arm-based chroot and 
configuring binfmt_misc (via /proc/sys) to point to it, this would allow 
debootstrap to do its work without problems.

It is worth noting that Debian have such statically-linked qemu package 
already (the package is called qemu-user-static if I am not mistaken), 
but when I use Debian's own qemu-arm-static for my host arch - x86_64, I 
get a very weird errors during debootstrap, so I am trying to build a 
"native" (i.e. Fedora-based) qemu static to see if I get the same error 
in order to isolate the problem.

I have tried to build/implement this by tweaking the source rpm (the 
.spec file in particular) which comes with the latest QEMU version 
distributed by Fedora (0.15-2 if I am not mistaken), but there are so 
many ugly hacks in there, that I soon abandoned this idea and thought it 
would be easier if I just unpack the source archive, apply the 
Fedora-supplied patches and manually execute my custom ./configure and 
then "make" so that I end up with qem-arm-static (or similarly-named 
executable file) and use this instead.

The problem I am having, as evident from my initial post, is that ld is 
going mad about "missing" libraries, even though the build succeeds if I 
remove the "--static" option. I will try what you have suggested to see 
if it works, but I wanted to know whether I am doing something 
fundamentally wrong here... I appreciate your input Peter!

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 14:15   ` Mr Dash Four
@ 2011-11-23 15:24     ` Paolo Bonzini
  2011-11-23 15:41       ` Mr Dash Four
  0 siblings, 1 reply; 43+ messages in thread
From: Paolo Bonzini @ 2011-11-23 15:24 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: qemu-devel

On 11/23/2011 03:15 PM, Mr Dash Four wrote:
>>> It would indicate a missing libssl3, but the library, as far as I can
>>> see, is there! When I try building this without the "--static" option
>>> all is well - the build succeeds without any hitches. What could be the
>>> problem with this, what am I missing?
>>
>> Perhaps you lack a static version of the library.
> What do you mean by that? The *.la files? I wasn't aware that there are
> any...

I mean lib*.a files.  They are needed if you specify static, by definition.

Paolo

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 15:24     ` Paolo Bonzini
@ 2011-11-23 15:41       ` Mr Dash Four
  2011-11-23 18:00         ` Paolo Bonzini
  0 siblings, 1 reply; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 15:41 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel


>>> Perhaps you lack a static version of the library.
>> What do you mean by that? The *.la files? I wasn't aware that there are
>> any...
>
> I mean lib*.a files.  They are needed if you specify static, by 
> definition.
Hmm, this opens a huge Pandora's box for me - in my own distribution 
(Fedora) the "nss" package (which I have installed) provides 
/usr/lib64/libssl3.so, but not libssl3.a. "nss-devel" (which I also have 
installed) provides all the relevant /include files (headers and the 
like), but there is no libssl3.a there either! There is no package 
called "nss-devel-static" distributed by Fedora and the only ".a" files 
produced by compiling the nss source are libcrmf.a libnssb.a and 
libnssckfw.a - no libssl3.a at all. So, where do I get this?

Also, assuming libssl3 is not the only one, ld will probably complain 
that there are other ".a" files missing from various other packages 
which are probably not present in my host machine. If that is the case, 
this is an absolute nightmare to have to deal with! Where do I get these 
files? Thanks for your input Paolo.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 15:41       ` Mr Dash Four
@ 2011-11-23 18:00         ` Paolo Bonzini
  2011-11-23 18:28           ` Peter Maydell
  2011-11-23 18:34           ` Mr Dash Four
  0 siblings, 2 replies; 43+ messages in thread
From: Paolo Bonzini @ 2011-11-23 18:00 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: qemu-devel

On 11/23/2011 04:41 PM, Mr Dash Four wrote:
>>
> Hmm, this opens a huge Pandora's box for me - in my own distribution
> (Fedora) the "nss" package (which I have installed) provides
> /usr/lib64/libssl3.so, but not libssl3.a. "nss-devel" (which I also have
> installed) provides all the relevant /include files (headers and the
> like), but there is no libssl3.a there either! There is no package
> called "nss-devel-static" distributed by Fedora and the only ".a" files
> produced by compiling the nss source are libcrmf.a libnssb.a and
> libnssckfw.a - no libssl3.a at all. So, where do I get this?

You don't.  Fedora does not package static libraries.  Just don't use 
the option on Linux, it makes (a little) sense only on Windows to get a 
monolithic, redistributable qemu.exe.

Paolo

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 18:00         ` Paolo Bonzini
@ 2011-11-23 18:28           ` Peter Maydell
  2011-11-23 18:33             ` Mr Dash Four
  2011-11-23 18:34           ` Mr Dash Four
  1 sibling, 1 reply; 43+ messages in thread
From: Peter Maydell @ 2011-11-23 18:28 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Mr Dash Four, qemu-devel

On 23 November 2011 18:00, Paolo Bonzini <pbonzini@redhat.com> wrote:
> You don't.  Fedora does not package static libraries.  Just don't use the
> option on Linux, it makes (a little) sense only on Windows to get a
> monolithic, redistributable qemu.exe.

It's also important for building linux-user targets so you can
put them in chroots. Luckily linux-user doesn't link against
quite so much of the world as the whole-system qemu binary...

-- PMM

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 18:28           ` Peter Maydell
@ 2011-11-23 18:33             ` Mr Dash Four
  2011-11-23 18:36               ` Peter Maydell
  0 siblings, 1 reply; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 18:33 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, qemu-devel

>> You don't.  Fedora does not package static libraries.  Just don't use the
>> option on Linux, it makes (a little) sense only on Windows to get a
>> monolithic, redistributable qemu.exe.
> 
> It's also important for building linux-user targets so you can
> put them in chroots. Luckily linux-user doesn't link against
> quite so much of the world as the whole-system qemu binary...
My thoughts exactly! Without having static qemu built I simply can't use it for the purpose I stated in my previous post. FYI Peter, I just tried to build qemu with only the -user targets - unsuccessfully - exactly the same error as before -lssl3 cannot be found.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 18:00         ` Paolo Bonzini
  2011-11-23 18:28           ` Peter Maydell
@ 2011-11-23 18:34           ` Mr Dash Four
  1 sibling, 0 replies; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 18:34 UTC (permalink / raw)
  To: qemu-devel

>> >> So, where do I get this?
> > 
> > You don't.  Fedora does not package static libraries.  Just don't use
> > the option on Linux, it makes (a little) sense only on Windows to get a
> > monolithic, redistributable qemu.exe.
So, what you are suggesting above is that qemu-[arch]-static cannot be build on Linux? I mean, you can't be serious, really?!

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 18:33             ` Mr Dash Four
@ 2011-11-23 18:36               ` Peter Maydell
  2011-11-23 18:42                 ` Mr Dash Four
  0 siblings, 1 reply; 43+ messages in thread
From: Peter Maydell @ 2011-11-23 18:36 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: Paolo Bonzini, qemu-devel

On 23 November 2011 18:33, Mr Dash Four <mr.dash.four@googlemail.com> wrote:
> FYI Peter, I just tried to build qemu with only the -user targets -
> unsuccessfully - exactly the same error as before -lssl3 cannot be found.

Can you retry this with one of the 1.0 release candidates
or current head-of-git, please?

(when I do a static build it doesn't try to link against ssl3.)

thanks
-- PMM

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 18:36               ` Peter Maydell
@ 2011-11-23 18:42                 ` Mr Dash Four
  2011-11-23 18:47                   ` Peter Maydell
  0 siblings, 1 reply; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 18:42 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, qemu-devel

> Can you retry this with one of the 1.0 release candidates
> or current head-of-git, please?
OK, I'll try with 1.0-rc3, but before that just a quick query - I use the Fedora source rpm as a basis and do "rpmbuild -bp qemu.spec" to prepare the source. This, according to the said .spec file, applies the following patches (by Fedora, not me):

Patch01: 0001-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch
Patch02: 0002-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch
Patch03: 0003-iohandlers-Add-enable-disable_write_fd_handler-funct.patch
Patch04: 0004-char-Add-framework-for-a-write-unblocked-callback.patch
Patch05: 0005-char-Update-send_all-to-handle-nonblocking-chardev-w.patch
Patch06: 0006-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch
Patch07: 0007-char-Throttle-when-host-connection-is-down.patch
Patch08: 0008-virtio-console-Enable-port-throttling-when-chardev-i.patch
Patch09: 0009-spice-qemu-char.c-add-throttling.patch
Patch10: 0010-spice-qemu-char.c-remove-intermediate-buffer.patch
Patch11: 0011-usb-redir-Add-flow-control-support.patch
Patch12: 0012-spice-add-worker-wrapper-functions.patch
Patch13: 0013-spice-add-qemu_spice_display_init_common.patch
Patch14: 0014-spice-qxl-move-worker-wrappers.patch
Patch15: 0015-qxl-fix-surface-tracking-locking.patch
Patch16: 0016-qxl-add-io_port_to_string.patch
Patch17: 0017-qxl-error-handling-fixes-and-cleanups.patch
Patch18: 0018-qxl-make-qxl_guest_bug-take-variable-arguments.patch
Patch19: 0019-qxl-only-disallow-specific-io-s-in-vga-mode.patch
Patch20: 0020-qxl-async-io-support-using-new-spice-api.patch
Patch21: 0021-qxl-add-QXL_IO_FLUSH_-SURFACES-RELEASE-for-guest-S3-.patch
Patch22: 0022-qxl-bump-pci-rev.patch
Patch23: 0023-virtio-serial-bus-replay-guest_open-on-migration.patch
Patch24: 0024-qemu-char-make-qemu_chr_event-public.patch
Patch25: 0025-spice-qemu-char-Generate-chardev-open-close-events.patch
Patch26: 0026-usb-redir-Call-qemu_chr_guest_open-close.patch
Patch27: 0027-usb-redir-Device-disconnect-re-connect-robustness-fi.patch
Patch28: 0028-usb-redir-Don-t-try-to-write-to-the-chardev-after-a-.patch

I am almost certain that the majority of these will fail with the new source, so I'll try to build without those. Is that OK?

> (when I do a static build it doesn't try to link against ssl3.)
Interesting. I'll do a "vanilla" build (with no patches applied) and see how it goes, unless you have something else in mind?

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 18:42                 ` Mr Dash Four
@ 2011-11-23 18:47                   ` Peter Maydell
  2011-11-23 19:02                     ` Mr Dash Four
  0 siblings, 1 reply; 43+ messages in thread
From: Peter Maydell @ 2011-11-23 18:47 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: Paolo Bonzini, qemu-devel

On 23 November 2011 18:42, Mr Dash Four <mr.dash.four@googlemail.com> wrote:
>> Can you retry this with one of the 1.0 release candidates
>> or current head-of-git, please?

> OK, I'll try with 1.0-rc3, but before that just a quick query - I use the
> Fedora source rpm as a basis and do "rpmbuild -bp qemu.spec" to prepare
> the source. This, according to the said .spec file, applies the following
> patches (by Fedora, not me):
[skip long list]

> I am almost certain that the majority of these will fail with the new source,
> so I'll try to build without those. Is that OK?

I expect so. I have no idea what the Fedora patches are but if upstream's
sources don't work without needing extra patches that's what we care about.

> Interesting. I'll do a "vanilla" build (with no patches applied) and see
> how it goes, unless you have something else in mind?

Sonuds like a good plan.

-- PMM

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 18:47                   ` Peter Maydell
@ 2011-11-23 19:02                     ` Mr Dash Four
  2011-11-23 19:16                       ` Peter Maydell
  0 siblings, 1 reply; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 19:02 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, qemu-devel


> Sonuds like a good plan.
Nope, same error as before:
/usr/bin/ld: cannot find -lssl3
collect2: ld returned 1 exit status

The source was unpacked, I disabled all the patches in that .spec file, ran "rpmbuild -bp qemu.spec", then manually went to that directory (BUILD/qemu-1.0-rc3) and typed "./configure --target-list="x86_64-linux-user arm-linux-user armeb-linux-user" --disable-kvm --disable-strip --disable-xen --disable-spice --disable-werror --static", followed by "make V=1".

I get exactly the same result if I just unpack the source and run ./configure & then make (not going through the rpmbuild source "preparation"), so something is definitely amiss! 

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 19:02                     ` Mr Dash Four
@ 2011-11-23 19:16                       ` Peter Maydell
  2011-11-23 19:22                         ` Mr Dash Four
  0 siblings, 1 reply; 43+ messages in thread
From: Peter Maydell @ 2011-11-23 19:16 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: Paolo Bonzini, qemu-devel

On 23 November 2011 19:02, Mr Dash Four <mr.dash.four@googlemail.com> wrote:
>
>> Sonuds like a good plan.
> Nope, same error as before:
> /usr/bin/ld: cannot find -lssl3
> collect2: ld returned 1 exit status

Which binary are we trying to link when we fail?

> I get exactly the same result if I just unpack the source and run ./configure &
> then make (not going through the rpmbuild source "preparation"), so something is
> definitely amiss!

OK. We don't explicitly try to link with ssl3 ourselves, so this only
ever ends up in LDFLAGS because of some other library that has claimed
it needs it as a dependency via pkg-config. Try adding
 --disable-sdl --disable-vnc --disable-bluez --disable-check-utests
--disable-smartcard --disable-usb-redir

to your configure argument. That turns off a lot of stuff that's irrelevant
for linux-user and which might be pulling in this library. If that works
then you can identify which particular switch is needed by process of
elimination.

-- PMM

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 19:16                       ` Peter Maydell
@ 2011-11-23 19:22                         ` Mr Dash Four
  2011-11-23 19:33                           ` Peter Maydell
  0 siblings, 1 reply; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 19:22 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, qemu-devel

> Which binary are we trying to link when we fail?
This is where it all fails:

gcc -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing  -fstack-protector-all -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 -I/home/mr-4/qemu-1.0-rc3/libcacard -I/usr/include/nss3 -I/usr/include/nspr4      -I../linux-headers -I.. -I/home/mr-4/qemu-1.0-rc3/target-i386 -DNEED_CPU_H -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -I/home/mr-4/qemu-1.0-rc3/linux-user/x86_64 -I/home/mr-4/qemu-1.0-rc3/linux-user -O2 -g  -Wl,--warn-common -m64 -static -g  -Wl,-T../config-host.ld -Wl,-T,/home/mr-4/qemu-1.0-rc3/x86_64.ld  -o qemu-x86_64 ../libdis-user/i386-dis.o ../libuser/cache-utils.o ../libuser/cutils.o ../libuser/envlist.o ../libuser/host-utils.o ../libuser/path.o ../libuser/tcg-ru
ntime.o ../libuser/trace.o ../libuser/trace/control.o ../libuser/trace/default.o cpu-exec.o cpu-uname.o cpuid.o disas.o elfload.o exec.o fpu/softfloat.o gdbstub.o helper.o ioport-user.o linuxload.o main.o mmap.o op_helper.o osdep.o oslib-posix.o qemu-thread-posix.o signal.o strace.o syscall.o tcg/optimize.o tcg/tcg.o thunk.o translate-all.o translate.o uaccess.o user-exec.o -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl   -lrt -pthread -pthread -lgthread-2.0 -lrt -lglib-2.0    -lusbredirparser   -lm
/usr/bin/ld: cannot find -lssl3
collect2: ld returned 1 exit status
make[1]: *** [qemu-x86_64] Error 1
make[1]: Leaving directory `/home/mr-4/qemu-1.0-rc3/x86_64-linux-user'
make: *** [subdir-x86_64-linux-user] Error 2

> OK. We don't explicitly try to link with ssl3 ourselves, so this only
> ever ends up in LDFLAGS because of some other library that has claimed
> it needs it as a dependency via pkg-config. Try adding
>  --disable-sdl --disable-vnc --disable-bluez --disable-check-utests
> --disable-smartcard --disable-usb-redir
> 
> to your configure argument. That turns off a lot of stuff that's irrelevant
> for linux-user and which might be pulling in this library. If that works
> then you can identify which particular switch is needed by process of
> elimination.
Different error this time:

./configure --target-list="x86_64-linux-user arm-linux-user armeb-linux-user" --disable-kvm --disable-strip --disable-xen --disable-spice --disable-werror --static --disable-sdl --disable-vnc --disable-bluez --disable-check-utests --disable-smartcard --disable-usb-redir
make V=1

gcc -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing  -fstack-protector-all -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    -I../linux-headers -I.. -I/home/mr-4/qemu-1.0-rc3/target-i386 -DNEED_CPU_H -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -I/home/mr-4/qemu-1.0-rc3/linux-user/x86_64 -I/home/mr-4/qemu-1.0-rc3/linux-user -O2 -g  -Wl,--warn-common -m64 -static -g  -Wl,-T../config-host.ld -Wl,-T,/home/mr-4/qemu-1.0-rc3/x86_64.ld  -o qemu-x86_64 ../libdis-user/i386-dis.o ../libuser/cache-utils.o ../libuser/cutils.o ../libuser/envlist.o ../libuser/host-utils.o ../libuser/path.o ../libuser/tcg-runtime.o ../libuser/trace.o ../libuser/trace/control.o ../libuser/trace/default.
o cpu-exec.o cpu-uname.o cpuid.o disas.o elfload.o exec.o fpu/softfloat.o gdbstub.o helper.o ioport-user.o linuxload.o main.o mmap.o op_helper.o osdep.o oslib-posix.o qemu-thread-posix.o signal.o strace.o syscall.o tcg/optimize.o tcg/tcg.o thunk.o translate-all.o translate.o uaccess.o user-exec.o -lrt -pthread -pthread -lgthread-2.0 -lrt -lglib-2.0    -lusbredirparser   -lm
/usr/bin/ld: cannot find -lgthread-2.0
collect2: ld returned 1 exit status
make[1]: *** [qemu-x86_64] Error 1
make[1]: Leaving directory `/home/mr-4/qemu-1.0-rc3/x86_64-linux-user'
make: *** [subdir-x86_64-linux-user] Error 2

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 19:22                         ` Mr Dash Four
@ 2011-11-23 19:33                           ` Peter Maydell
  2011-11-23 19:50                             ` Mr Dash Four
  2011-11-24 12:26                             ` Alon Levy
  0 siblings, 2 replies; 43+ messages in thread
From: Peter Maydell @ 2011-11-23 19:33 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: Paolo Bonzini, qemu-devel

On 23 November 2011 19:22, Mr Dash Four <mr.dash.four@googlemail.com> wrote:
>
>> OK. We don't explicitly try to link with ssl3 ourselves, so this only
>> ever ends up in LDFLAGS because of some other library that has claimed
>> it needs it as a dependency via pkg-config. Try adding
>>  --disable-sdl --disable-vnc --disable-bluez --disable-check-utests
>> --disable-smartcard --disable-usb-redir
>>
>> to your configure argument. That turns off a lot of stuff that's irrelevant
>> for linux-user and which might be pulling in this library. If that works
>> then you can identify which particular switch is needed by process of
>> elimination.
> Different error this time:

Good, we've got rid of the ssl3 link attempt.

> /usr/bin/ld: cannot find -lgthread-2.0

Do you have a static libgthread-2.0? (ie /usr/lib/libgthread-2.0.a or
equivalent). If not you need to install it. Similarly you'll need
a static libglib-2.0.

-- PMM

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 19:33                           ` Peter Maydell
@ 2011-11-23 19:50                             ` Mr Dash Four
  2011-11-23 19:53                               ` Max Filippov
  2011-11-24 12:26                             ` Alon Levy
  1 sibling, 1 reply; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 19:50 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, qemu-devel

> Do you have a static libgthread-2.0? (ie /usr/lib/libgthread-2.0.a or
> equivalent).
Nope, this is what I have:

/usr/lib64/libgthread.so
/usr/lib64/libgthread-2.0.so
/usr/lib64/libgthread-1.2.so.0
/usr/lib64/libgthread-1.2.so.0.0.10

*but*, just downloaded the source rpm and looked at the .spec file. It contains the following few lines in the %build section:

%configure --disable-static
[...]
## Unpackaged files
# info
%{__rm} -rf %{buildroot}%{_infodir}
# .la fies... die die die.
%{__rm} -rf %{buildroot}%{_libdir}/lib*.la
# despite use of --disable-static, delete static libs that get built anyway
%{__rm} -rf %{buildroot}%{_libdir}/lib*.a


So, somebody at Fedora doesn't like static (.a) files very much, it seems. I could easily correct this, enable static building and have these installed, I think.

 If not you need to install it. Similarly you'll need
> a static libglib-2.0.
Here, things are a bit easier - even though I do have the glib2-devel and glib2 packages installed, looking at the source rpm there is a separate package called glib2-static, so I'll just install it and get on with it.

I presume after doing all this I need to rerun the stripped-down version of ./configure again, right? If so, I'll do just that and let you know how it goes.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 19:50                             ` Mr Dash Four
@ 2011-11-23 19:53                               ` Max Filippov
  2011-11-23 19:57                                 ` Mr Dash Four
  0 siblings, 1 reply; 43+ messages in thread
From: Max Filippov @ 2011-11-23 19:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Mr Dash Four, Paolo Bonzini

> > Do you have a static libgthread-2.0? (ie /usr/lib/libgthread-2.0.a or
> > equivalent).
> Nope, this is what I have:
> 
> /usr/lib64/libgthread.so
> /usr/lib64/libgthread-2.0.so
> /usr/lib64/libgthread-1.2.so.0
> /usr/lib64/libgthread-1.2.so.0.0.10
> 
> *but*, just downloaded the source rpm and looked at the .spec file. It contains the following few lines in the %build section:
> 
> %configure --disable-static
> [...]
> ## Unpackaged files
> # info
> %{__rm} -rf %{buildroot}%{_infodir}
> # .la fies... die die die.
> %{__rm} -rf %{buildroot}%{_libdir}/lib*.la
> # despite use of --disable-static, delete static libs that get built anyway
> %{__rm} -rf %{buildroot}%{_libdir}/lib*.a
> 
> 
> So, somebody at Fedora doesn't like static (.a) files very much, it seems. I could easily correct this, enable static building and have these installed, I think.

There's glib2-static in Fedora:

$ rpm -ql glib2-static
/usr/lib64/libgio-2.0.a
/usr/lib64/libglib-2.0.a
/usr/lib64/libgmodule-2.0.a
/usr/lib64/libgobject-2.0.a
/usr/lib64/libgthread-2.0.a

Thanks.
-- Max

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 19:53                               ` Max Filippov
@ 2011-11-23 19:57                                 ` Mr Dash Four
  2011-11-23 19:59                                   ` Peter Maydell
  0 siblings, 1 reply; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 19:57 UTC (permalink / raw)
  To: Max Filippov; +Cc: Peter Maydell, qemu-devel, Paolo Bonzini

>> So, somebody at Fedora doesn't like static (.a) files very much, it seems. I could easily correct this, enable static building and have these installed, I think.
> 
> There's glib2-static in Fedora:
> 
> $ rpm -ql glib2-static
> /usr/lib64/libgio-2.0.a
> /usr/lib64/libglib-2.0.a
> /usr/lib64/libgmodule-2.0.a
> /usr/lib64/libgobject-2.0.a
> /usr/lib64/libgthread-2.0.a
That is what I just wrote in my previous post, didn't I? The "die die die" comments were related to the glib package, not the glib2! Just open glib.spec and see it for yourself.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 19:57                                 ` Mr Dash Four
@ 2011-11-23 19:59                                   ` Peter Maydell
  2011-11-23 20:08                                     ` Max Filippov
  2011-11-23 20:13                                     ` Mr Dash Four
  0 siblings, 2 replies; 43+ messages in thread
From: Peter Maydell @ 2011-11-23 19:59 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: Max Filippov, qemu-devel, Paolo Bonzini

On 23 November 2011 19:57, Mr Dash Four <mr.dash.four@googlemail.com> wrote:
>>> So, somebody at Fedora doesn't like static (.a) files very much, it seems. I could easily correct this, enable static building and have these installed, I think.
>>
>> There's glib2-static in Fedora:
>>
>> $ rpm -ql glib2-static
>> /usr/lib64/libgio-2.0.a
>> /usr/lib64/libglib-2.0.a
>> /usr/lib64/libgmodule-2.0.a
>> /usr/lib64/libgobject-2.0.a
>> /usr/lib64/libgthread-2.0.a
> That is what I just wrote in my previous post, didn't I? The "die die die" comments were related to the glib package, not the glib2! Just open glib.spec and see it for yourself.

However it looks from Max's list of libraries like the glib2-static package
contains all the static libraries qemu wants here [both libglib-2.0 and
libgthread-2.0]so so you don't need to build anything yourself, just install
that, right?

-- PMM

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 19:59                                   ` Peter Maydell
@ 2011-11-23 20:08                                     ` Max Filippov
  2011-11-23 20:18                                       ` Max Filippov
  2011-11-23 20:27                                       ` Mr Dash Four
  2011-11-23 20:13                                     ` Mr Dash Four
  1 sibling, 2 replies; 43+ messages in thread
From: Max Filippov @ 2011-11-23 20:08 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, Mr Dash Four, qemu-devel

> >>> So, somebody at Fedora doesn't like static (.a) files very much, it seems. I could easily correct this, enable static building and have these installed, I think.
> >>
> >> There's glib2-static in Fedora:
> >>
> >> $ rpm -ql glib2-static
> >> /usr/lib64/libgio-2.0.a
> >> /usr/lib64/libglib-2.0.a
> >> /usr/lib64/libgmodule-2.0.a
> >> /usr/lib64/libgobject-2.0.a
> >> /usr/lib64/libgthread-2.0.a
> > That is what I just wrote in my previous post, didn't I? The "die die die" comments were related to the glib package, not the glib2! Just open glib.spec and see it for yourself.
> 
> However it looks from Max's list of libraries like the glib2-static package
> contains all the static libraries qemu wants here [both libglib-2.0 and
> libgthread-2.0]so so you don't need to build anything yourself, just install
> that, right?

It fails some other way ):

$ make V=1
gcc -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing  -fstack-protector-all -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  -I../linux-headers -I.. -I/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/target-i386 -DNEED_CPU_H -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -I/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/linux-user/x86_64 -I/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/linux-user -O2 -g  -Wl,--warn-common -m64 -static -g  -Wl,-T../config-host.ld -Wl,-T,/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/x86_64.ld  -o qemu-x86_64 ../libdis-user/i386-dis.o ../libuser/cache-utils.o ../libuser/cutils.o ../libuser/envlist.o ../libuser/host-utils.o ../libuser/path.o ../libuser/tcg-runtime.o ../libuser/trace.o ../libuser/trace/control.o ../libuser/trace/default.o cpu-exec.o cpu-uname.o cpuid.o disas.o elfload.o exec.o fpu/softfloat.o gdbstub.o helper.o ioport-user.o linuxload.o main.o mmap.o op_helper.o osdep.o oslib-posix.o qemu-thread-posix.o signal.o strace.o syscall.o tcg/optimize.o tcg/tcg.o thunk.o translate-all.o translate.o uaccess.o user-exec.o -lrt -pthread -pthread -lgthread-2.0 -lrt -lglib-2.0    -lm

/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x24): undefined reference to `glib_mem__alloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x7c): undefined reference to `glib_mem__alloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0xd0): undefined reference to `glib_mem__alloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x128): undefined reference to `glib_mem__alloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x17c): undefined reference to `glib_mem__realloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x1d8): undefined reference to `glib_mem__realloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x230): undefined reference to `glib_mem__free_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x274): undefined reference to `glib_mem__alloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x2cc): undefined reference to `glib_mem__realloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gslice.o):(.note.stapsdt+0x24): undefined reference to `glib_slice__alloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gslice.o):(.note.stapsdt+0x70): undefined reference to `glib_slice__free_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gdataset.o):(.note.stapsdt+0x24): undefined reference to `glib_quark__new_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gdataset.o):(.note.stapsdt+0x70): undefined reference to `glib_quark__new_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gdataset.o):(.note.stapsdt+0xbc): undefined reference to `glib_quark__new_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gdataset.o):(.note.stapsdt+0x108): undefined reference to `glib_quark__new_semaphore'


Thanks.
-- Max

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 19:59                                   ` Peter Maydell
  2011-11-23 20:08                                     ` Max Filippov
@ 2011-11-23 20:13                                     ` Mr Dash Four
  1 sibling, 0 replies; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 20:13 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Max Filippov, qemu-devel, Paolo Bonzini

>> That is what I just wrote in my previous post, didn't I? The "die die die" comments were related to the glib package, not the glib2! Just open glib.spec and see it for yourself.
> 
> However it looks from Max's list of libraries like the glib2-static package
> contains all the static libraries qemu wants here [both libglib-2.0 and
> libgthread-2.0]so so you don't need to build anything yourself, just install
> that, right?
That's what I am doing now, *but* the strange thing is, I now get build failure because of two *new* unpackaged files:

%{_datadir}/systemtap/tapset/glib.stp
%{_datadir}/systemtap/tapset/gobject.stp

I presume these are destined to be in the -devel package so I'll include them there myself. Max is right though - indeed the -static package covers both libglib-2.0 and libgthread-2.0, so I am just compiling the source rm at present and will update the devel and static packages when it is done. Will let you know how it goes.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 20:08                                     ` Max Filippov
@ 2011-11-23 20:18                                       ` Max Filippov
  2011-11-23 20:28                                         ` Mr Dash Four
  2011-11-23 23:02                                         ` Mr Dash Four
  2011-11-23 20:27                                       ` Mr Dash Four
  1 sibling, 2 replies; 43+ messages in thread
From: Max Filippov @ 2011-11-23 20:18 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, Mr Dash Four, qemu-devel

> It fails some other way ):
> 
> $ make V=1
> gcc -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing  -fstack-protector-all -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  -I../linux-headers -I.. -I/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/target-i386 -DNEED_CPU_H -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -I/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/linux-user/x86_64 -I/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/linux-user -O2 -g  -Wl,--warn-common -m64 -static -g  -Wl,-T../config-host.ld -Wl,-T,/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/x86_64.ld  -o qemu-x86_64 ../libdis-user/i386-dis.o ../libuser/cache-utils.o ../libuser/cutils.o ../libuser/envlist.o ../libuser/host-utils.o ../libuser/path.o ../libuser/tcg-runtime.o ../libuser/trace.o ../libuser/trace/control.o ../libuser/trace/default.o cpu-exec.o cpu-uname.o cpuid.o disas.o elfload.o exec.o fpu/softfloat.o gdbstub.o helper.o ioport-user.o linuxload.o main.o mmap.o op_helper.o osdep.o oslib-posix.o qemu-thread-posix.o signal.o strace.o syscall.o tcg/optimize.o tcg/tcg.o thunk.o translate-all.o translate.o uaccess.o user-exec.o -lrt -pthread -pthread -lgthread-2.0 -lrt -lglib-2.0    -lm
> 
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x24): undefined reference to `glib_mem__alloc_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x7c): undefined reference to `glib_mem__alloc_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0xd0): undefined reference to `glib_mem__alloc_semaphore'
...

It appears to be glib2 issue: https://bugzilla.gnome.org/show_bug.cgi?id=654078
In the latest F15 it's not fixed. Mr-4, probably you will not escape re-compiling, if not even patching glib2.

Thanks.
-- Max

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 20:08                                     ` Max Filippov
  2011-11-23 20:18                                       ` Max Filippov
@ 2011-11-23 20:27                                       ` Mr Dash Four
  2011-11-23 20:39                                         ` Mr Dash Four
  2011-11-23 22:13                                         ` Peter Maydell
  1 sibling, 2 replies; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 20:27 UTC (permalink / raw)
  To: Max Filippov; +Cc: Peter Maydell, qemu-devel, Paolo Bonzini



> It fails some other way ):
> 
> $ make V=1
> gcc -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing  -fstack-protector-all -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  -I../linux-headers -I.. -I/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/target-i386 -DNEED_CPU_H -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -I/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/linux-user/x86_64 -I/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/linux-user -O2 -g  -Wl,--warn-common -m64 -static -g  -Wl,-T../config-host.ld -Wl,-T,/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/x86_64.ld  -o qemu-x86_64 ../libdis-user/i386-dis.o ../libuser/cache-utils.o ../libuser/cutils.o ../libuser/envlist.o ../libuser/host-utils.o ../libuser/path.o ../libuser/tcg-runtime.o ../libu
ser/trace.o ../libuser/trace/control.o ../libuser/trace/default.o cpu-exec.o cpu-uname.o cpuid.o disas.o elfload.o exec.o fpu/softfloat.o gdbstub.o helper.o ioport-user.o linuxload.o main.o mmap.o op_helper.o osdep.o oslib-posix.o qemu-thread-posix.o signal.o strace.o syscall.o tcg/optimize.o tcg/tcg.o thunk.o translate-all.o translate.o uaccess.o user-exec.o -lrt -pthread -pthread -lgthread-2.0 -lrt -lglib-2.0    -lm
> 
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x24): undefined reference to `glib_mem__alloc_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x7c): undefined reference to `glib_mem__alloc_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0xd0): undefined reference to `glib_mem__alloc_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x128): undefined reference to `glib_mem__alloc_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x17c): undefined reference to `glib_mem__realloc_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x1d8): undefined reference to `glib_mem__realloc_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x230): undefined reference to `glib_mem__free_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x274): undefined reference to `glib_mem__alloc_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x2cc): undefined reference to `glib_mem__realloc_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gslice.o):(.note.stapsdt+0x24): undefined reference to `glib_slice__alloc_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gslice.o):(.note.stapsdt+0x70): undefined reference to `glib_slice__free_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gdataset.o):(.note.stapsdt+0x24): undefined reference to `glib_quark__new_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gdataset.o):(.note.stapsdt+0x70): undefined reference to `glib_quark__new_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gdataset.o):(.note.stapsdt+0xbc): undefined reference to `glib_quark__new_semaphore'
> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gdataset.o):(.note.stapsdt+0x108): undefined reference to `glib_quark__new_semaphore'
I don't get that - I get *SUCCESS*!!! I am going to run this through the rpmbuild, so that I get a proper package done.

Peter, I hope you would be able to advice me on the following, if you can please: I have some ugly stuff in my qemu.spec file as follows:

========================================================================================================
%build
# By default we build everything, but allow x86 to build a minimal version
# with only similar arch target support
%if %{with_x86only}
    buildarch="i386-softmmu x86_64-softmmu i386-linux-user x86_64-linux-user"
%else
    buildarch="i386-softmmu x86_64-softmmu arm-softmmu cris-softmmu m68k-softmmu \
           mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu \
           sh4-softmmu sh4eb-softmmu \
           i386-linux-user x86_64-linux-user alpha-linux-user arm-linux-user \
           armeb-linux-user cris-linux-user m68k-linux-user mips-linux-user \
           mipsel-linux-user sh4-linux-user sh4eb-linux-user" \
%endif


# --build-id option is used fedora 8 onwards for giving info to the debug packages.
extraldflags="-Wl,--build-id";
buildldflags="VL_LDFLAGS=-Wl,--build-id"

%ifarch s390
# drop -g flag to prevent memory exhaustion by linker
%global optflags %(echo %{optflags} | sed 's/-g//')
sed -i.debug 's/"-g $CFLAGS"/"$CFLAGS"/g' configure
%endif

%ifarch %{ix86} x86_64
# sdl outputs to alsa or pulseaudio depending on system config, but it's broken (#495964)
# alsa works, but causes huge CPU load due to bugs
# oss works, but is very problematic because it grabs exclusive control of the device causing other apps to go haywire
./configure --target-list=x86_64-softmmu \
            --prefix=%{_prefix} \
            --sysconfdir=%{_sysconfdir} \
            --audio-drv-list=pa,sdl,alsa,oss \
            --disable-strip \
            --extra-ldflags="$extraldflags -pie -Wl,-z,relro -Wl,-z,now" \
            --extra-cflags="%{optflags} -fPIE -DPIE" \
            --enable-spice \
            --enable-trace-backend=dtrace \
            --disable-werror \
            --disable-xen

echo "config-host.mak contents:"
echo "==="
cat config-host.mak
echo "==="

make V=1 -j1 $buildldflags
./scripts/tracetool --dtrace --binary %{_bindir}/qemu-kvm \
  --target-arch x86_64 --target-type system --stap \
  --probe-prefix qemu.kvm < ./trace-events > qemu-kvm.stp
cp -a x86_64-softmmu/qemu-system-x86_64 qemu-kvm
make clean

%endif

./configure \
    --target-list="$buildarch" \
    --prefix=%{_prefix} \
    --sysconfdir=%{_sysconfdir} \
    --interp-prefix=%{_prefix}/qemu-%%M \
    --audio-drv-list=pa,sdl,alsa,oss \
    --disable-kvm \
    --disable-strip \
    --extra-ldflags="$extraldflags -pie -Wl,-z,relro -Wl,-z,now" \
    --extra-cflags="%{optflags} -fPIE -DPIE" \
    --disable-xen \
%ifarch %{ix86} x86_64
    --enable-spice \
%endif
    --enable-trace-backend=dtrace \
    --disable-werror

echo "config-host.mak contents:"
echo "==="
cat config-host.mak
echo "==="

make V=1 -j1 $buildldflags

gcc %{SOURCE6} -O2 -g -o ksmctl


%install
rm -rf $RPM_BUILD_ROOT

install -D -p -m 0755 %{SOURCE4} $RPM_BUILD_ROOT/lib/systemd/system/ksm.service
install -D -p -m 0644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/ksm
install -D -p -m 0755 ksmctl $RPM_BUILD_ROOT/lib/systemd/ksmctl

install -D -p -m 0755 %{SOURCE7} $RPM_BUILD_ROOT/lib/systemd/system/ksmtuned.service
install -D -p -m 0755 %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}/ksmtuned
install -D -p -m 0644 %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/ksmtuned.conf

%ifarch %{ix86} x86_64
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
mkdir -p $RPM_BUILD_ROOT%{_bindir}/
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d
mkdir -p $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset

install -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules/kvm.modules
install -m 0755 kvm/kvm_stat $RPM_BUILD_ROOT%{_bindir}/
install -m 0755 qemu-kvm $RPM_BUILD_ROOT%{_bindir}/
install -m 0644 qemu-kvm.stp $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/
install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d
%endif

make prefix="${RPM_BUILD_ROOT}%{_prefix}" \
     bindir="${RPM_BUILD_ROOT}%{_bindir}" \
     sharedir="${RPM_BUILD_ROOT}%{_datadir}/%{name}" \
     mandir="${RPM_BUILD_ROOT}%{_mandir}" \
     docdir="${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}" \
     datadir="${RPM_BUILD_ROOT}%{_datadir}/%{name}" \
     sysconfdir="${RPM_BUILD_ROOT}%{_sysconfdir}" install
chmod -x ${RPM_BUILD_ROOT}%{_mandir}/man1/*
install -D -p -m 0644 -t ${RPM_BUILD_ROOT}%{qemudocdir} Changelog README TODO COPYING COPYING.LIB LICENSE

install -D -p -m 0644 qemu.sasl $RPM_BUILD_ROOT%{_sysconfdir}/sasl2/qemu.conf

rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/pxe*bin
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/pxe*rom
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/gpxe*rom
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/vgabios*bin
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/bios.bin
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/openbios-ppc
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/openbios-sparc32
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/openbios-sparc64
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/petalogix*.dtb
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/s390-zipl.rom
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/bamboo.dtb
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/slof.bin
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/spapr-rtas.bin
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/ppc_rom.bin

# the pxe gpxe images will be symlinks to the images on
# /usr/share/gpxe, as QEMU doesn't know how to look
# for other paths, yet.
pxe_link() {
  ln -s ../gpxe/$2.rom %{buildroot}%{_datadir}/%{name}/pxe-$1.rom
}

pxe_link e1000 8086100e
pxe_link ne2k_pci rtl8029
pxe_link pcnet pcnet32
pxe_link rtl8139 rtl8139
pxe_link virtio virtio-net
ln -s ../vgabios/VGABIOS-lgpl-latest.bin  %{buildroot}/%{_datadir}/%{name}/vgabios.bin
ln -s ../vgabios/VGABIOS-lgpl-latest.cirrus.bin %{buildroot}/%{_datadir}/%{name}/vgabios-cirrus.bin
ln -s ../vgabios/VGABIOS-lgpl-latest.qxl.bin %{buildroot}/%{_datadir}/%{name}/vgabios-qxl.bin
ln -s ../vgabios/VGABIOS-lgpl-latest.stdvga.bin %{buildroot}/%{_datadir}/%{name}/vgabios-stdvga.bin
ln -s ../vgabios/VGABIOS-lgpl-latest.vmware.bin %{buildroot}/%{_datadir}/%{name}/vgabios-vmware.bin
ln -s ../seabios/bios.bin %{buildroot}/%{_datadir}/%{name}/bios.bin

mkdir -p $RPM_BUILD_ROOT%{_exec_prefix}/lib/binfmt.d
for i in dummy \
%ifnarch %{ix86} x86_64
    qemu-i386 \
%endif
%if !%{with_x86only}
%ifnarch arm
    qemu-arm \
%endif
%ifnarch ppc ppc64
    qemu-ppc \
%endif
%ifnarch sparc sparc64
    qemu-sparc \
%endif
%ifnarch sh4
    qemu-sh4 \
%endif
%endif
; do
  test $i = dummy && continue
  grep /$i:\$ %{SOURCE1} > $RPM_BUILD_ROOT%{_exec_prefix}/lib/binfmt.d/$i.conf
  chmod 644 $RPM_BUILD_ROOT%{_exec_prefix}/lib/binfmt.d/$i.conf
done < %{SOURCE1}

# For the qemu-guest-agent subpackage install the systemd
# service and udev rules.
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d
install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_unitdir}
install -m 0644 %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d
========================================================================================================

The ./configure options are easy to correct (even though I have no idea what the --extra-ldflags and --extra-cflags are for and whether I should keep these), but the rest of the stuff above is way, way over my head. What parts do you think I should keep and should I delete, do you have an idea?

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 20:18                                       ` Max Filippov
@ 2011-11-23 20:28                                         ` Mr Dash Four
  2011-11-23 23:02                                         ` Mr Dash Four
  1 sibling, 0 replies; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 20:28 UTC (permalink / raw)
  To: Max Filippov; +Cc: Peter Maydell, qemu-devel, Paolo Bonzini

> In the latest F15 it's not fixed. Mr-4, probably you will not escape re-compiling, if not even patching glib2.
Nope, I've just built it successfully (see my previous post)!

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 20:27                                       ` Mr Dash Four
@ 2011-11-23 20:39                                         ` Mr Dash Four
  2011-11-23 20:51                                           ` Max Filippov
  2011-11-23 22:13                                         ` Peter Maydell
  1 sibling, 1 reply; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 20:39 UTC (permalink / raw)
  To: Max Filippov; +Cc: Peter Maydell, qemu-devel, Paolo Bonzini

> I don't get that - I get *SUCCESS*!!! I am going to run this through the rpmbuild, so that I get a proper package done.
I am an *idiot*. I just realised that I've ran ./configure the last time without the --static option. My build now fails with:

gcc -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing  -fstack-protector-all -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    -I../linux-headers -I.. -I/home/mr-4/qemu-1.0-rc3/target-arm -DNEED_CPU_H -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -I/home/mr-4/qemu-1.0-rc3/linux-user/arm -I/home/mr-4/qemu-1.0-rc3/linux-user -O2 -g  -Wl,--warn-common -m64 -static -g  -Wl,-T../config-host.ld -Wl,-T,/home/mr-4/qemu-1.0-rc3/x86_64.ld  -o qemu-arm ../libdis-user/arm-dis.o ../libdis-user/i386-dis.o ../libuser/cache-utils.o ../libuser/cutils.o ../libuser/envlist.o ../libuser/host-utils.o ../libuser/path.o ../libuser/tcg-runtime.o ../libuser/trace.o ../libuser/trace/control.o ../libu
ser/trace/default.o arm-semi.o cpu-exec.o cpu-uname.o disas.o elfload.o exec.o flatload.o fpu/softfloat.o gdbstub-xml.o gdbstub.o helper.o iwmmxt_helper.o linuxload.o main.o mmap.o neon_helper.o nwfpe/double_cpdo.o nwfpe/extended_cpdo.o nwfpe/fpa11.o nwfpe/fpa11_cpdo.o nwfpe/fpa11_cpdt.o nwfpe/fpa11_cprt.o nwfpe/fpopcode.o nwfpe/single_cpdo.o op_helper.o osdep.o oslib-posix.o qemu-thread-posix.o signal.o strace.o syscall.o tcg/optimize.o tcg/tcg.o thunk.o translate-all.o translate.o uaccess.o user-exec.o -lrt -pthread -pthread -lgthread-2.0 -lrt -lglib-2.0    -lusbredirparser   -lm
/usr/bin/ld: cannot find -lusbredirparser
collect2: ld returned 1 exit status
make[1]: *** [qemu-arm] Error 1
make[1]: Leaving directory `/home/mr-4/qemu-1.0-rc3/arm-linux-user'
make: *** [subdir-arm-linux-user] Error 2


Even though I executed "./configure --target-list="arm-linux-user armeb-linux-user" --disable-kvm --disable-strip --disable-xen --disable-spice --disable-werror --disable-sdl --disable-vnc --disable-bluez --disable-check-utests --disable-smartcard --disable-usb-redir --static" the -lusbredirparser is still pulled for some reason! Any ideas?

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 20:39                                         ` Mr Dash Four
@ 2011-11-23 20:51                                           ` Max Filippov
  2011-11-23 21:00                                             ` Mr Dash Four
  0 siblings, 1 reply; 43+ messages in thread
From: Max Filippov @ 2011-11-23 20:51 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: Peter Maydell, qemu-devel, Paolo Bonzini

> Even though I executed "./configure --target-list="arm-linux-user armeb-linux-user" --disable-kvm --disable-strip --disable-xen --disable-spice --disable-werror --disable-sdl --disable-vnc --disable-bluez --disable-check-utests --disable-smartcard --disable-usb-redir --static" the -lusbredirparser is still pulled for some reason! Any ideas?
> 

Did configure reported 'usb net redir' as 'no'?
Could you try configure and build in a clean directory?

Thanks.
-- Max

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 20:51                                           ` Max Filippov
@ 2011-11-23 21:00                                             ` Mr Dash Four
  2011-11-23 21:40                                               ` Max Filippov
  0 siblings, 1 reply; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 21:00 UTC (permalink / raw)
  To: Max Filippov; +Cc: Peter Maydell, qemu-devel, Paolo Bonzini

> Did configure reported 'usb net redir' as 'no'?
> Could you try configure and build in a clean directory?
[mr-4@test1 qemu-1.0-rc3]$ ./configure --target-list="arm-linux-user armeb-linux-user" --disable-kvm --disable-strip --disable-xen --disable-spice --disable-werror --disable-sdl --disable-vnc --disable-bluez --disable-check-utests --disable-smartcard --disable-usb-redir --static
Install prefix    /usr/local
BIOS directory    /usr/local/share/qemu
binary directory  /usr/local/bin
library directory /usr/local/lib
include directory /usr/local/include
config directory  /usr/local/etc
Manual directory  /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /home/mr-4/qemu-1.0-rc3
C compiler        gcc
Host C compiler   gcc
CFLAGS            -O2 -g 
QEMU_CFLAGS       -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing  -fstack-protector-all -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  
LDFLAGS           -Wl,--warn-common -m64 -static -g 
make              make
install           install
python            python
smbd              /usr/sbin/smbd
host CPU          x86_64
host big endian   no
target list       arm-linux-user armeb-linux-user
tcg debug enabled no
Mon debug enabled no
gprof enabled     no
sparse enabled    no
strip binaries    no
profiler          no
static build      yes
-Werror enabled   no
SDL support       no
curses support    no
curl support      no
check support     no
mingw32 support   no
Audio drivers     oss
Extra audio cards ac97 es1370 sb16 hda
Block whitelist   
Mixer emulation   no
VNC support       no
xen support       no
brlapi support    no
bluez  support    no
Documentation     yes
NPTL support      yes
GUEST_BASE        yes
PIE               no
vde support       no
Linux AIO support no
ATTR/XATTR support yes
Install blobs     yes
KVM support       no
TCG interpreter   no
fdt support       no
preadv support    yes
fdatasync         yes
madvise           yes
posix_madvise     yes
uuid support      no
vhost-net support yes
Trace backend     nop
Trace output file trace-<pid>
spice support     no
rbd support       no
xfsctl support    no
nss used          no
usb net redir     yes
OpenGL support    no
libiscsi support  no
build guest agent yes

This is utterly bizarre! Why is "usb net redir" set as "yes" I have no idea!

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 21:00                                             ` Mr Dash Four
@ 2011-11-23 21:40                                               ` Max Filippov
  2011-11-23 22:12                                                 ` Peter Maydell
  0 siblings, 1 reply; 43+ messages in thread
From: Max Filippov @ 2011-11-23 21:40 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: Peter Maydell, qemu-devel, Paolo Bonzini

> > Did configure reported 'usb net redir' as 'no'?
> > Could you try configure and build in a clean directory?
> [mr-4@test1 qemu-1.0-rc3]$ ./configure --target-list="arm-linux-user armeb-linux-user" --disable-kvm --disable-strip --disable-xen --disable-spice --disable-werror --disable-sdl --disable-vnc --disable-bluez --disable-check-utests --disable-smartcard --disable-usb-redir --static
...
> usb net redir     yes
> OpenGL support    no
> libiscsi support  no
> build guest agent yes
> 
> This is utterly bizarre! Why is "usb net redir" set as "yes" I have no idea!
> 

Could you try configure with the following patch?

diff --git a/configure b/configure
index f033438..e5566c8 100755
--- a/configure
+++ b/configure
@@ -759,8 +759,6 @@ for opt do
   ;;
   --enable-opengl) opengl="yes"
   ;;
-  --*dir)
-  ;;
   --disable-rbd) rbd="no"
   ;;
   --enable-rbd) rbd="yes"
@@ -783,6 +781,8 @@ for opt do
   ;;
   --disable-guest-agent) guest_agent="no"
   ;;
+  --*dir)
+  ;;
   *) echo "ERROR: unknown option $opt"; show_help="yes"
   ;;
   esac

Thanks.
-- Max

^ permalink raw reply related	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 21:40                                               ` Max Filippov
@ 2011-11-23 22:12                                                 ` Peter Maydell
  0 siblings, 0 replies; 43+ messages in thread
From: Peter Maydell @ 2011-11-23 22:12 UTC (permalink / raw)
  To: Max Filippov; +Cc: Paolo Bonzini, Mr Dash Four, qemu-devel

On 23 November 2011 21:40, Max Filippov <jcmvbkbc@gmail.com> wrote:
> --- a/configure
> +++ b/configure
> @@ -759,8 +759,6 @@ for opt do
>   ;;
>   --enable-opengl) opengl="yes"
>   ;;
> -  --*dir)
> -  ;;
>   --disable-rbd) rbd="no"
>   ;;
>   --enable-rbd) rbd="yes"

Haha, nice catch. Incidentally I think that the proper fix for this
should be to have a case statement that explicitly matches for the
--thingydir options we accept, and drop the wildcard completely.

-- PMM

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 20:27                                       ` Mr Dash Four
  2011-11-23 20:39                                         ` Mr Dash Four
@ 2011-11-23 22:13                                         ` Peter Maydell
  1 sibling, 0 replies; 43+ messages in thread
From: Peter Maydell @ 2011-11-23 22:13 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: Max Filippov, qemu-devel, Paolo Bonzini

On 23 November 2011 20:27, Mr Dash Four <mr.dash.four@googlemail.com> wrote:
> Peter, I hope you would be able to advice me on the following, if you can
> please: I have some ugly stuff in my qemu.spec file as follows:

[delete huge spec file]

> What parts do you think I should keep and should I delete, do you
> have an idea?

Sorry, I don't use RedHat and have no idea about specfiles.
(It's a bit offtopic for qemu-devel really anyway.)

-- PMM

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 20:18                                       ` Max Filippov
  2011-11-23 20:28                                         ` Mr Dash Four
@ 2011-11-23 23:02                                         ` Mr Dash Four
  2011-11-23 23:15                                           ` Max Filippov
  1 sibling, 1 reply; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 23:02 UTC (permalink / raw)
  To: Max Filippov; +Cc: Peter Maydell, qemu-devel, Paolo Bonzini

>> $ make V=1
>> gcc -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing  -fstack-protector-all -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  -I../linux-headers -I.. -I/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/target-i386 -DNEED_CPU_H -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -I/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/linux-user/x86_64 -I/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/linux-user -O2 -g  -Wl,--warn-common -m64 -static -g  -Wl,-T../config-host.ld -Wl,-T,/home/jcmvbkbc/ws/m/awt/emu/xtensa/qemu/x86_64.ld  -o qemu-x86_64 ../libdis-user/i386-dis.o ../libuser/cache-utils.o ../libuser/cutils.o ../libuser/envlist.o ../libuser/host-utils.o ../libuser/path.o ../libuser/tcg-runtime.o ../lib
user/trace.o ../libuser/trace/control.o ../libuser/trace/default.o cpu-exec.o cpu-uname.o cpuid.o disas.o elfload.o exec.o fpu/softfloat.o gdbstub.o helper.o ioport-user.o linuxload.o main.o mmap.o op_helper.o osdep.o oslib-posix.o qemu-thread-posix.o signal.o strace.o syscall.o tcg/optimize.o tcg/tcg.o thunk.o translate-all.o translate.o uaccess.o user-exec.o -lrt -pthread -pthread -lgthread-2.0 -lrt -lglib-2.0    -lm
>>
>> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x24): undefined reference to `glib_mem__alloc_semaphore'
>> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x7c): undefined reference to `glib_mem__alloc_semaphore'
>> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0xd0): undefined reference to `glib_mem__alloc_semaphore'
> ...
> 
> It appears to be glib2 issue: https://bugzilla.gnome.org/show_bug.cgi?id=654078
Spot on, unfortunately! This is what I now have after applying your patch (thank you!):

gcc -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing  -fstack-protector-all -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  -I../linux-headers -I.. -I/home/gogo/t/qemu-1.0-rc3/target-arm -DNEED_CPU_H -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -I/home/gogo/t/qemu-1.0-rc3/linux-user/arm -I/home/gogo/t/qemu-1.0-rc3/linux-user -O2 -g  -Wl,--warn-common -m64 -static -g  -Wl,-T../config-host.ld -Wl,-T,/home/gogo/t/qemu-1.0-rc3/x86_64.ld  -o qemu-arm ../libdis-user/arm-dis.o ../libdis-user/i386-dis.o ../libuser/cache-utils.o ../libuser/cutils.o ../libuser/envlist.o ../libuser/host-utils.o ../libuser/path.o ../libuser/tcg-runtime.o ../libuser/trace.o ../libuser/trace/control.o .
./libuser/trace/default.o arm-semi.o cpu-exec.o cpu-uname.o disas.o elfload.o exec.o flatload.o fpu/softfloat.o gdbstub-xml.o gdbstub.o helper.o iwmmxt_helper.o linuxload.o main.o mmap.o neon_helper.o nwfpe/double_cpdo.o nwfpe/extended_cpdo.o nwfpe/fpa11.o nwfpe/fpa11_cpdo.o nwfpe/fpa11_cpdt.o nwfpe/fpa11_cprt.o nwfpe/fpopcode.o nwfpe/single_cpdo.o op_helper.o osdep.o oslib-posix.o qemu-thread-posix.o signal.o strace.o syscall.o tcg/optimize.o tcg/tcg.o thunk.o translate-all.o translate.o uaccess.o user-exec.o -lrt -pthread -pthread -lgthread-2.0 -lrt -lglib-2.0    -lm
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
(.text+0x11bc): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
(.text+0x11b0): warning: Using 'setpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
(.text+0x11c6): warning: Using 'endpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
(.text+0xefa): warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
(.text+0xf36): warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libpthread.a(libpthread.o): In function `sem_open':
(.text+0x75dd): warning: the use of `mktemp' is dangerous, better use `mkstemp'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x24): undefined reference to `glib_mem__realloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x80): undefined reference to `glib_mem__alloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0xd8): undefined reference to `glib_mem__free_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x11c): undefined reference to `glib_mem__realloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x178): undefined reference to `glib_mem__realloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x1d0): undefined reference to `glib_mem__alloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x228): undefined reference to `glib_mem__alloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x27c): undefined reference to `glib_mem__alloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x2d4): undefined reference to `glib_mem__alloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gslice.o):(.note.stapsdt+0x24): undefined reference to `glib_slice__alloc_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gslice.o):(.note.stapsdt+0x70): undefined reference to `glib_slice__free_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gdataset.o):(.note.stapsdt+0x24): undefined reference to `glib_quark__new_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gdataset.o):(.note.stapsdt+0x70): undefined reference to `glib_quark__new_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gdataset.o):(.note.stapsdt+0xbc): undefined reference to `glib_quark__new_semaphore'
/usr/lib/gcc/x86_64-redhat-linux/4.4.5/../../../../lib64/libglib-2.0.a(gdataset.o):(.note.stapsdt+0x108): undefined reference to `glib_quark__new_semaphore'
collect2: ld returned 1 exit status
make[1]: *** [qemu-arm] Error 1
make[1]: Leaving directory `/home/gogo/t/qemu-1.0-rc3/arm-linux-user'
make: *** [subdir-arm-linux-user] Error 2

Is there any solution to this?

> In the latest F15 it's not fixed. Mr-4, probably you will not escape re-compiling, if not even patching glib2.
I am not afraid of doing that as long as it works and helps me out. Should I see/try whether it has been fixed in rawhide?

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 23:02                                         ` Mr Dash Four
@ 2011-11-23 23:15                                           ` Max Filippov
  2011-11-23 23:22                                             ` Peter Maydell
  0 siblings, 1 reply; 43+ messages in thread
From: Max Filippov @ 2011-11-23 23:15 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: Peter Maydell, qemu-devel, Paolo Bonzini

> >> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x24): undefined reference to `glib_mem__alloc_semaphore'
> >> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x7c): undefined reference to `glib_mem__alloc_semaphore'
> >> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0xd0): undefined reference to `glib_mem__alloc_semaphore'
> > ...
> > 
> > It appears to be glib2 issue: https://bugzilla.gnome.org/show_bug.cgi?id=654078
> Spot on, unfortunately! This is what I now have after applying your patch (thank you!):
...
> Is there any solution to this?

Traditional: it may be fixed in the mainline already, F15 has version 2.28.8, whereas mainline tip is 2.31.2.
However nothing in the git log suggests that.

> > In the latest F15 it's not fixed. Mr-4, probably you will not escape re-compiling, if not even patching glib2.
> I am not afraid of doing that as long as it works and helps me out. Should I see/try whether it has been fixed in rawhide?

Well, patching always helps AFAIK (:
And rawhide -- give it a try if it's easy.

Thanks.
-- Max

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 23:15                                           ` Max Filippov
@ 2011-11-23 23:22                                             ` Peter Maydell
  2011-11-23 23:33                                               ` Mr Dash Four
  0 siblings, 1 reply; 43+ messages in thread
From: Peter Maydell @ 2011-11-23 23:22 UTC (permalink / raw)
  To: Max Filippov; +Cc: Paolo Bonzini, Mr Dash Four, qemu-devel

On 23 November 2011 23:15, Max Filippov <jcmvbkbc@gmail.com> wrote:
>> >> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x24): undefined reference to `glib_mem__alloc_semaphore'
>> >> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0x7c): undefined reference to `glib_mem__alloc_semaphore'
>> >> /usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/libglib-2.0.a(gmem.o):(.note.stapsdt+0xd0): undefined reference to `glib_mem__alloc_semaphore'
>> > ...
>> >
>> > It appears to be glib2 issue: https://bugzilla.gnome.org/show_bug.cgi?id=654078
>> Spot on, unfortunately! This is what I now have after applying your patch (thank you!):
> ...
>> Is there any solution to this?
>
> Traditional: it may be fixed in the mainline already, F15 has version 2.28.8, whereas mainline tip is 2.31.2.
> However nothing in the git log suggests that.

FWIW Ubuntu Oneiric has glib2 2.30.0 and doesn't seem to have this problem.

-- PMM

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 23:22                                             ` Peter Maydell
@ 2011-11-23 23:33                                               ` Mr Dash Four
  2011-11-24  8:48                                                 ` Max Filippov
  0 siblings, 1 reply; 43+ messages in thread
From: Mr Dash Four @ 2011-11-23 23:33 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Max Filippov, qemu-devel, Paolo Bonzini

>>> Is there any solution to this?
>> Traditional: it may be fixed in the mainline already, F15 has version 2.28.8, whereas mainline tip is 2.31.2.
>> However nothing in the git log suggests that.
> 
> FWIW Ubuntu Oneiric has glib2 2.30.0 and doesn't seem to have this problem.
Just compiled, built and installed the latest glib-2.0 from rawhide (2.31.2-1) - *no* use, the same error is popping up. Dead end?

The bug report Max linked to previously suggests that bug is "CLOSED FIXED". How's that fixed then?

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 23:33                                               ` Mr Dash Four
@ 2011-11-24  8:48                                                 ` Max Filippov
  2011-11-24 12:15                                                   ` Mr Dash Four
  0 siblings, 1 reply; 43+ messages in thread
From: Max Filippov @ 2011-11-24  8:48 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: Peter Maydell, qemu-devel, Paolo Bonzini

>>>> Is there any solution to this?
>>> Traditional: it may be fixed in the mainline already, F15 has version 2.28.8, whereas mainline tip is 2.31.2.
>>> However nothing in the git log suggests that.
>>
>> FWIW Ubuntu Oneiric has glib2 2.30.0 and doesn't seem to have this problem.
> Just compiled, built and installed the latest glib-2.0 from rawhide (2.31.2-1) - *no* use, the same error is popping up. Dead end?
>
> The bug report Max linked to previously suggests that bug is "CLOSED FIXED". How's that fixed then?

Debian glib2 package version 2.24.2-1 works for me too. Looks like
Fedora packaging issue.

-- 
Thanks.
-- Max

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-24  8:48                                                 ` Max Filippov
@ 2011-11-24 12:15                                                   ` Mr Dash Four
  2011-11-24 12:25                                                     ` Paolo Bonzini
  0 siblings, 1 reply; 43+ messages in thread
From: Mr Dash Four @ 2011-11-24 12:15 UTC (permalink / raw)
  To: Max Filippov; +Cc: Peter Maydell, qemu-devel, Paolo Bonzini


>> The bug report Max linked to previously suggests that bug is "CLOSED FIXED". How's that fixed then?
>>     
>
> Debian glib2 package version 2.24.2-1 works for me too. Looks like
> Fedora packaging issue.
>   
So, what do I do? Is there any way I could find what is causing this?

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-24 12:15                                                   ` Mr Dash Four
@ 2011-11-24 12:25                                                     ` Paolo Bonzini
  2011-11-24 12:45                                                       ` Mr Dash Four
  0 siblings, 1 reply; 43+ messages in thread
From: Paolo Bonzini @ 2011-11-24 12:25 UTC (permalink / raw)
  To: Mr Dash Four; +Cc: Max Filippov, qemu-devel, Peter Maydell

On 11/24/2011 01:15 PM, Mr Dash Four wrote:
>
>>> The bug report Max linked to previously suggests that bug is "CLOSED
>>> FIXED". How's that fixed then?
>>
>> Debian glib2 package version 2.24.2-1 works for me too. Looks like
>> Fedora packaging issue.
> So, what do I do? Is there any way I could find what is causing this?

Likely Debian is not packaging systemtap scripts.

Open a Fedora bug and link it to the upstream bug.  Say in the Fedora 
bug that the upstream bug is fixed but you couldn't find a commit that 
relates to it.

Paolo

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-23 19:33                           ` Peter Maydell
  2011-11-23 19:50                             ` Mr Dash Four
@ 2011-11-24 12:26                             ` Alon Levy
  2011-11-24 12:57                               ` Peter Maydell
  1 sibling, 1 reply; 43+ messages in thread
From: Alon Levy @ 2011-11-24 12:26 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Paolo Bonzini, Mr Dash Four, qemu-devel

On Wed, Nov 23, 2011 at 07:33:48PM +0000, Peter Maydell wrote:
> On 23 November 2011 19:22, Mr Dash Four <mr.dash.four@googlemail.com> wrote:
> >
> >> OK. We don't explicitly try to link with ssl3 ourselves, so this only
> >> ever ends up in LDFLAGS because of some other library that has claimed
> >> it needs it as a dependency via pkg-config. Try adding
> >>  --disable-sdl --disable-vnc --disable-bluez --disable-check-utests
> >> --disable-smartcard --disable-usb-redir

Just FYI, It's the --disable-smartcard that fixed this:
smartcard requires nss, and:
$ pkg-config --libs nss
-lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl  

> >>
> >> to your configure argument. That turns off a lot of stuff that's irrelevant
> >> for linux-user and which might be pulling in this library. If that works
> >> then you can identify which particular switch is needed by process of
> >> elimination.
> > Different error this time:
> 
> Good, we've got rid of the ssl3 link attempt.
> 
> > /usr/bin/ld: cannot find -lgthread-2.0
> 
> Do you have a static libgthread-2.0? (ie /usr/lib/libgthread-2.0.a or
> equivalent). If not you need to install it. Similarly you'll need
> a static libglib-2.0.
> 
> -- PMM
> 

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-24 12:25                                                     ` Paolo Bonzini
@ 2011-11-24 12:45                                                       ` Mr Dash Four
  0 siblings, 0 replies; 43+ messages in thread
From: Mr Dash Four @ 2011-11-24 12:45 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Max Filippov, qemu-devel, Peter Maydell


> Likely Debian is not packaging systemtap scripts.
True, though I have no idea what the purpose of these files is.

> Open a Fedora bug and link it to the upstream bug.  Say in the Fedora 
> bug that the upstream bug is fixed but you couldn't find a commit that 
> relates to it.
Done - https://bugzilla.redhat.com/show_bug.cgi?id=756748

I guess I have to sit and wait to see what happens next.

^ permalink raw reply	[flat|nested] 43+ messages in thread

* Re: [Qemu-devel] cannot build qemu with "--static" configure option
  2011-11-24 12:26                             ` Alon Levy
@ 2011-11-24 12:57                               ` Peter Maydell
  0 siblings, 0 replies; 43+ messages in thread
From: Peter Maydell @ 2011-11-24 12:57 UTC (permalink / raw)
  To: Peter Maydell, Mr Dash Four, Paolo Bonzini, qemu-devel

On 24 November 2011 12:26, Alon Levy <alevy@redhat.com> wrote:
> On Wed, Nov 23, 2011 at 07:33:48PM +0000, Peter Maydell wrote:
>> On 23 November 2011 19:22, Mr Dash Four <mr.dash.four@googlemail.com> wrote:
>> >
>> >> OK. We don't explicitly try to link with ssl3 ourselves, so this only
>> >> ever ends up in LDFLAGS because of some other library that has claimed
>> >> it needs it as a dependency via pkg-config. Try adding
>> >>  --disable-sdl --disable-vnc --disable-bluez --disable-check-utests
>> >> --disable-smartcard --disable-usb-redir
>
> Just FYI, It's the --disable-smartcard that fixed this:
> smartcard requires nss, and:
> $ pkg-config --libs nss
> -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl

Yeah. You can get this problem on Ubuntu too if you have the
relevant libnns3-dev package installed.

However we won't be using the smartcard stuff if we're building
a linux-user target, right, so maybe we can get the makefile
to skip it or only apply these libraries to the relevant
executables ?

Either that or we should say "we don't have a working nss for
smartcard" if the user said --static (ie improve the smartcard
autodetect configure code).

-- PMM

^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2011-11-24 12:57 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-23 12:58 [Qemu-devel] cannot build qemu with "--static" configure option Mr Dash Four
2011-11-23 14:10 ` Paolo Bonzini
2011-11-23 14:15   ` Mr Dash Four
2011-11-23 15:24     ` Paolo Bonzini
2011-11-23 15:41       ` Mr Dash Four
2011-11-23 18:00         ` Paolo Bonzini
2011-11-23 18:28           ` Peter Maydell
2011-11-23 18:33             ` Mr Dash Four
2011-11-23 18:36               ` Peter Maydell
2011-11-23 18:42                 ` Mr Dash Four
2011-11-23 18:47                   ` Peter Maydell
2011-11-23 19:02                     ` Mr Dash Four
2011-11-23 19:16                       ` Peter Maydell
2011-11-23 19:22                         ` Mr Dash Four
2011-11-23 19:33                           ` Peter Maydell
2011-11-23 19:50                             ` Mr Dash Four
2011-11-23 19:53                               ` Max Filippov
2011-11-23 19:57                                 ` Mr Dash Four
2011-11-23 19:59                                   ` Peter Maydell
2011-11-23 20:08                                     ` Max Filippov
2011-11-23 20:18                                       ` Max Filippov
2011-11-23 20:28                                         ` Mr Dash Four
2011-11-23 23:02                                         ` Mr Dash Four
2011-11-23 23:15                                           ` Max Filippov
2011-11-23 23:22                                             ` Peter Maydell
2011-11-23 23:33                                               ` Mr Dash Four
2011-11-24  8:48                                                 ` Max Filippov
2011-11-24 12:15                                                   ` Mr Dash Four
2011-11-24 12:25                                                     ` Paolo Bonzini
2011-11-24 12:45                                                       ` Mr Dash Four
2011-11-23 20:27                                       ` Mr Dash Four
2011-11-23 20:39                                         ` Mr Dash Four
2011-11-23 20:51                                           ` Max Filippov
2011-11-23 21:00                                             ` Mr Dash Four
2011-11-23 21:40                                               ` Max Filippov
2011-11-23 22:12                                                 ` Peter Maydell
2011-11-23 22:13                                         ` Peter Maydell
2011-11-23 20:13                                     ` Mr Dash Four
2011-11-24 12:26                             ` Alon Levy
2011-11-24 12:57                               ` Peter Maydell
2011-11-23 18:34           ` Mr Dash Four
2011-11-23 14:18 ` Peter Maydell
2011-11-23 14:39   ` Mr Dash Four

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