On 2 April 2013 18:26, Paolo Bonzini <pbonz...@redhat.com> wrote: > Il 02/04/2013 19:01, Peter Maydell ha scritto: >> I think this may perturb the order of the link line slightly, >> but hopefully not in any way that matters. (Did you test a >> static build?) > > I don't have static versions of half of the prerequisites of system > emulators...
Really? Ubuntu provides them, maybe you should complain to your distro vendor :-) Anyway, I did a compile test of everything with --static and it does turn out to be busted: ccache gcc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -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/usr/include/libpng12 -I/usr/include/pixman-1 -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I. -I. -I../linux-headers -I.. -I/home/petmay01/linaro/qemu-from-laptop/qemu/target-i386 -DNEED_CPU_H -I/home/petmay01/linaro/qemu-from-laptop/qemu/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -Wl,--warn-common -m64 -static -g -o qemu-system-i386 ../aio-posix.o [.o list elided] translate-all.o xen-stub.o ../libqemuutil.a ../libqemustub.a -lrt -pthread -lgthread-2.0 -lglib-2.0 -lrt -lpcre -lm -lutil -lbluetooth -lncurses -ltinfo -lvdeplug -luuid -lpng12 -lz -lm -lz -laio -lfdt -lpixman-1 [usual complaints about glibc functions needing the libraries at runtime for NSS stuff elided] /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libpixman-1.a(pixman-radial-gradient.o): In function `radial_compute_color': (.text+0x16f): undefined reference to `sqrt' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libpixman-1.a(pixman-combine32.o): In function `combine_soft_light_ca': (.text+0xa1e7): undefined reference to `sqrt' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libpixman-1.a(pixman-combine32.o): In function `combine_soft_light_ca': (.text+0xa25e): undefined reference to `sqrt' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libpixman-1.a(pixman-combine32.o): In function `combine_soft_light_ca': (.text+0xa2cc): undefined reference to `sqrt' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libpixman-1.a(pixman-combine32.o): In function `combine_soft_light_u': (.text+0xab46): undefined reference to `sqrt' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libpixman-1.a(pixman-combine32.o):(.text+0xabfc): more undefined references to `sqrt' follow collect2: ld returned 1 exit status make[1]: *** [qemu-system-i386] Error 1 make[1]: Leaving directory `/home/petmay01/linaro/qemu-from-laptop/qemu/i386-softmmu' make: *** [subdir-i386-softmmu] Error 2 This is because we seem to have lost the trailing "-lm -lz"; here's the tail end of the link command from a build on master for comparison: translate-all.o xen-stub.o ../libqemuutil.a ../libqemustub.a -lrt -pthread -lgthread-2.0 -lglib-2.0 -lrt -lpcre -lutil -lbluetooth -lncurses -ltinfo -lvdeplug -luuid -lpng12 -lz -lm -laio -lfdt -lpixman-1 -lm -lz thanks -- PMM