Il 16/06/2014 15:58, Sean Bruno ha scritto:
On Mon, 2014-06-16 at 06:55 -0700, Sean Bruno wrote:
Sean, could you show the configure command line?
Also please attach the "make V=1" output and config-host.mak file.
Paolo
I'm using:
./configure --static --target-list="i386-bsd-user sparc-bsd-user
sparc64-bsd-user x86_64-bsd-user"
Log:
http://people.freebsd.org/~sbruno/qemu_build_fail.txt
sean
Also, configure output
http://people.freebsd.org/~sbruno/qemu_user_configure.txt
So this is happening because the $(sort) removes the ordering between
libraries and breaks static linking. Your patch likely does nothing
except adding more copies of the libraries, which lets the linker work.
The executable that breaks is qemu-nbd, which I suspect you couldn't
care less about.
The bug remains, and ought to be fixed, probably like this:
diff --git a/rules.mak b/rules.mak
index dde8e00..50b305e 100644
--- a/rules.mak
+++ b/rules.mak
@@ -22,7 +22,7 @@ QEMU_DGFLAGS += -MMD -MP -MT $@ -MF $(*D)/$(*F).d
# Same as -I$(SRC_PATH) -I., but for the nested source/object directories
QEMU_INCLUDES += -I$(<D) -I$(@D)
-extract-libs = $(strip $(sort $(foreach o,$1,$($o-libs))))
+extract-libs = $(foreach o,$1,$($o-libs))
expand-objs = $(strip $(sort $(filter %.o,$1)) \
$(foreach o,$(filter %.mo,$1),$($o-objs)) \
$(filter-out %.o %.mo,$1))
but the other question is: do we care about static linking of anything
except the user-mode emulators? Should --static automatically imply
--disable-tools --disable-system?
Paolo