[Qemu-devel] Problem compiling with gcc 3.3 on 2.6.14 (Debian)
Dear List, I recently upgraded to Linux 2.6.14 (as compiled as a 686 Debian package), and found that this distribution, too, has switched to GCC 4 for kernel. I tried to recompile a plain vanilla qemu 0.7.2 tarball : I switched to gcc 3.3 for this (in /usr/bin : ln -sf gcc-3.3 gcc ; ln -sf gccbug-3.3 gccbug ; ln -sf cpp-3.3 cpp ), planning to switch back to GCC 4 for recompilation of the kqemu subdirectory. This failed. ./configure works OK, compilation starts OK too, but the linking fails : [EMAIL PROTECTED]:~/qemu-source/qemu-0.7.2$ ./configure Install prefix/usr/local BIOS directory/usr/local/share/qemu binary directory /usr/local/bin Manual directory /usr/local/share/man ELF interp prefix /usr/gnemul/qemu-%M Source path /home/charpent/qemu-source/qemu-0.7.2 C compilergcc Host C compiler gcc make make host CPU i386 host big endian no target list i386-user arm-user armeb-user sparc-user ppc-user i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu gprof enabled no static build no SDL support yes SDL static link no mingw32 support no Adlib support no FMOD support no kqemu support yes KQEMU Linux module configuration: kernel sources/lib/modules/2.6.14-2-686/build kbuild type 2.6 [EMAIL PROTECTED]:~/qemu-source/qemu-0.7.2$ gcc --version gcc (GCC) 3.3.6 (Debian 1:3.3.6-10) Copyright (C) 2003 Free Software Foundation, Inc. Ce logiciel est libre; voir les sources pour les conditions de copie. Il n'y a PAS GARANTIE; ni implicite pour le MARCHANDAGE ou pour un BUT PARTICULIER. [EMAIL PROTECTED]:~/qemu-source/qemu-0.7.2$ make gcc -Wall -O2 -g -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -o dyngen dyngen.c gcc -DQEMU_TOOL -Wall -O2 -g -fno-strict-aliasing -g -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -o qemu-img qemu-img.c block.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c -lz for d in i386-user arm-user armeb-user sparc-user ppc-user i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu; do \ make -C $d all || exit 1 ; \ done make[1]: Entering directory `/home/charpent/qemu-source/qemu-0.7.2/i386-user' gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I. -I/home/charpent/qemu-source/qemu-0.7.2/target-i386 -I/home/charpent/qemu-source/qemu-0.7.2 -I/home/charpent/qemu-source/qemu-0.7.2/linux-user -I/home/charpent/qemu-source/qemu-0.7.2/linux-user/i386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/charpent/qemu-source/qemu-0.7.2/fpu -I/home/charpent/qemu-source/qemu-0.7.2/slirp -c -o elfload.o /home/charpent/qemu-source/qemu-0.7.2/linux-user/elfload.c gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I. -I/home/charpent/qemu-source/qemu-0.7.2/target-i386 -I/home/charpent/qemu-source/qemu-0.7.2 -I/home/charpent/qemu-source/qemu-0.7.2/linux-user -I/home/charpent/qemu-source/qemu-0.7.2/linux-user/i386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/charpent/qemu-source/qemu-0.7.2/fpu -I/home/charpent/qemu-source/qemu-0.7.2/slirp -c -o main.o /home/charpent/qemu-source/qemu-0.7.2/linux-user/main.c gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I. -I/home/charpent/qemu-source/qemu-0.7.2/target-i386 -I/home/charpent/qemu-source/qemu-0.7.2 -I/home/charpent/qemu-source/qemu-0.7.2/linux-user -I/home/charpent/qemu-source/qemu-0.7.2/linux-user/i386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/charpent/qemu-source/qemu-0.7.2/fpu -I/home/charpent/qemu-source/qemu-0.7.2/slirp -c -o syscall.o /home/charpent/qemu-source/qemu-0.7.2/linux-user/syscall.c gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I. -I/home/charpent/qemu-source/qemu-0.7.2/target-i386 -I/home/charpent/qemu-source/qemu-0.7.2 -I/home/charpent/qemu-source/qemu-0.7.2/linux-user -I/home/charpent/qemu-source/qemu-0.7.2/linux-user/i386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/charpent/qemu-source/qemu-0.7.2/fpu -I/home/charpent/qemu-source/qemu-0.7.2/slirp -c -o mmap.o /home/charpent/qemu-source/qemu-0.7.2/linux-user/mmap.c gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I. -I/home/charpent/qemu-source/qemu-0.7.2/target-i386 -I/home/charpent/qemu-source/qemu-0.7.2 -I/home/charpent/qemu-source/qemu-0.7.2/linux-user -I/home/charpent/qemu-source/qemu-0.7.2/linux-user/i386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/charpent/qemu-source/qemu-0.7.2/fpu -I/home/charpent/qemu-source/qemu-0.7.2/slirp -c -o signal.o /home/charpent/qemu-source/qemu-0.7.2/linux-user/signal.c gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I. -I/home/charpent/qemu-source/qemu-0.7.2/target-i386 -I/home/charpent/qemu-source/qemu-0.7.2 -I/home/charpent/qemu-source/qemu-0.7.2/linux-user
Re: [Qemu-devel] Problem compiling with gcc 3.3 on 2.6.14 (Debian)
On Mon, Nov 28, 2005 at 09:46:02AM +0100, Emmanuel Charpentier wrote: Dear List, I recently upgraded to Linux 2.6.14 (as compiled as a 686 Debian package), and found that this distribution, too, has switched to GCC 4 for kernel. I tried to recompile a plain vanilla qemu 0.7.2 tarball : I switched to gcc 3.3 for this (in /usr/bin : ln -sf gcc-3.3 gcc ; ln -sf gccbug-3.3 gccbug ; ln -sf cpp-3.3 cpp ), planning to switch back to GCC 4 for recompilation of the kqemu subdirectory. This failed. Strange. Haven't heard of this one before. Compiling the kqemu module should use the same compiler that the kernel uses anyways. It doesn't use the same one that qemu uses, but the one in the kernel's Makefile. I also notice that your error seems to be with qemu-i386. This binary doesn't use kqemu at all, so either don't use kqemu (if all you care about is i386-user) or compile i386-softmmu only (if you want to use kqemu and don't care aboui i386-user). It is hard to make out the problem when the error messages aren't in english, btw. -- Infinite complexity begets infinite beauty. Infinite precision begets infinite perfection. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] Problem compiling with gcc 3.3 on 2.6.14 (Debian)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Just, I think, it is trying to link with libm.a, that is compiled using GCC 4.0, so, the fail. Doesn't your distro have a gcc_select? I use it in MacOS X to change between GCC 3.3 and GCC 4.0 and it also changes default library locations so statically they never get linked with different ABIs. El 28/11/2005, a las 16:59, Jim C. Brown escribió: On Mon, Nov 28, 2005 at 09:46:02AM +0100, Emmanuel Charpentier wrote: Dear List, I recently upgraded to Linux 2.6.14 (as compiled as a 686 Debian package), and found that this distribution, too, has switched to GCC 4 for kernel. I tried to recompile a plain vanilla qemu 0.7.2 tarball : I switched to gcc 3.3 for this (in /usr/bin : ln -sf gcc-3.3 gcc ; ln -sf gccbug-3.3 gccbug ; ln -sf cpp-3.3 cpp ), planning to switch back to GCC 4 for recompilation of the kqemu subdirectory. This failed. Strange. Haven't heard of this one before. Compiling the kqemu module should use the same compiler that the kernel uses anyways. It doesn't use the same one that qemu uses, but the one in the kernel's Makefile. I also notice that your error seems to be with qemu-i386. This binary doesn't use kqemu at all, so either don't use kqemu (if all you care about is i386-user) or compile i386-softmmu only (if you want to use kqemu and don't care aboui i386-user). It is hard to make out the problem when the error messages aren't in english, btw. -- Infinite complexity begets infinite beauty. Infinite precision begets infinite perfection. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (Darwin) iD8DBQFDi11ySOHwOb87puQRAo39AKCMHYdlR4Gw2Z5+yQdH7goYK0frBACfZzsw Fp5c0p5BIhHIfwjVh65KGqI= =Esmf -END PGP SIGNATURE- ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel