Hi I have been struggling a week on and off to build VirtualBox OSE for amd64/Windows. I have fixed configure.vbs so it handles libxml2, libxslt and qt4. For gcc compiling I have used the mingw_x86_64 build invironment that provides a toolchain that targets x86_64-pc-mingw32. This actually seems to work fine all the way to the recompiler subdir. I can see the toolchain used by VirtualBox developers to build the amd64/windows version is called x86_64-unknown-linux-gnu-<tool>.exe. And is a gcc version 3.4.6. I have been trying to build this exact version and target all weekend but with no luck (I can build binutils and half of gcc, then it fails).
VirtualBox developers: Please, could you be so kind as to expose the x86_64-unknown-linux-gnu toolchain you are using, that would really ease the build process. An idea could be to add it to the svn repository under the tools directory - it would still be nessecary to download the mingw environment besides. Here is where my virtualbox build ends: kBuild: Installing VBoxREM => C:/dev/vbox/out/win.amd64/release/bin/VBoxREM.dll kBuild: Pass - Programs kBuild: Compiling VBoxREM2 - C:/dev/vbox/src/recompiler/VBoxRecompiler.c In file included from C:/dev/vbox/src/recompiler/VBoxRecompiler.c:28: C:/dev/vbox/src/recompiler/exec-all.h: In function 'tb_add_jump': C:/dev/vbox/src/recompiler/exec-all.h:308: warning: cast from pointer to integer of different size C:/dev/vbox/src/recompiler/exec-all.h:312: warning: cast from pointer to integer of different size C:/dev/vbox/src/recompiler/exec-all.h:312: warning: cast to pointer from integer of different size . . . C:/dev/vbox/src/recompiler/target-i386/ops_sse.h: In function 'op_punpckhwd_xmm': C:/dev/vbox/src/recompiler/target-i386/ops_sse.h:1400: warning: cast from pointer to integer of different size C:/dev/vbox/src/recompiler/target-i386/ops_sse.h:1400: warning: cast from pointer to integer of different size C:/dev/vbox/src/recompiler/target-i386/ops_sse.h: In function 'op_punpckhdq_xmm': C:/dev/vbox/src/recompiler/target-i386/ops_sse.h:1400: warning: cast from pointer to integer of different size C:/dev/vbox/src/recompiler/target-i386/ops_sse.h:1400: warning: cast from pointer to integer of different size C:/dev/vbox/src/recompiler/target-i386/ops_sse.h: In function 'op_punpckhqdq_xmm': C:/dev/vbox/src/recompiler/target-i386/ops_sse.h:1400: warning: cast from pointer to integer of different size C:/dev/vbox/src/recompiler/target-i386/ops_sse.h:1400: warning: cast from pointer to integer of different size kBuild: dyngen VBoxREM - C:/dev/vbox/out/win.amd64/release/obj/VBoxREM2/target-i386/op.o dyngen: bad ELF header kmk: *** [C:/dev/vbox/out/win.amd64/release/obj/VBoxREM2/op.h] Error 1 kmk: *** Deleting file `C:/dev/vbox/out/win.amd64/release/obj/VBoxREM2/op.h' The command that fails: @C:/dev/mingw_x86_64_20080724/bin/gcc.exe -c -g -O2 -nostdinc -fno-strict-aliasing -fno-math-errno -Wall -O2 -fno-strict-aliasing -m64 -mcmodel=medium -fno-common -O2 -IC:/dev/vbox/src/recompiler/Sun -IC:/dev/vbox/src/recompiler/Sun/crt -IC:/dev/vbox/src/recompiler/target-i386 -IC:/dev/vbox/src/recompiler/fpu -IC:/dev/vbox/out/win.amd64/release/obj/VBoxREM2 -IC:/dev/vbox/src/VBox/VMM -IC:/dev/vbox/src/recompiler -IC:/dev/vbox/include/iprt/nocrt -IC:/dev/vbox/include -IC:/dev/vbox/out/win.amd64/release -DVBOX -DVBOX_OSE -DVBOX_WITH_64_BITS_GUESTS -DVBOX_WITH_INTERNAL_NETWORKING -DRT_OS_WINDOWS -D__WIN__ -DRT_ARCH_AMD64 -D__AMD64__ -D__WIN64__ -DIN_RING3 -DIPRT_NO_CRT -DHC_ARCH_BITS=64 -DGC_ARCH_BITS=64 -DIN_REM_R3 -DREM_INCLUDE_CPU_H -DREM_PHYS_ADDR_IN_TLB -DLOG_USE_C99 -DHC_ARCH_BITS=64 -DGC_ARCH_BITS=64 -Wp,-MD,C:/dev/vbox/out/win.amd64/release/obj/VBoxREM2/VBoxRecompiler.o.dep -Wp,-MT,C:/dev/vbox/out/win.amd64/release/obj/VBoxREM2/VBoxRecompiler.o -Wp,-MP -o C:/dev/vbox/out/win.amd64/release/obj/VBoxREM2/VBoxRecompiler.o The gcc toolchain I'm using targets x86_64-pc-mingw32 which is probably part of the problem since it seems like dyngen expects ELF, also it is gcc 4.4.0 and I can see in a comment at the top of the Makefile inside the recompiler directory that versions >4 are not supported: C:\dev\vbox\src\recompiler>C:/dev/mingw_x86_64_20080724/bin/gcc.exe -v Using built-in specs. Target: x86_64-pc-mingw32 Configured with: ../gcc/configure --prefix=/var/tmp/win64 --with-sysroot=/var/tmp/win64 --target=x86_64-pc-mingw32 --host=x86_64-p c-mingw32 -q --silent Thread model: win32 gcc version 4.4.0 20080724 (experimental) (GCC) Best regards Jakob Simon-Gaarde _______________________________________________ vbox-dev mailing list [email protected] http://vbox.innotek.de/mailman/listinfo/vbox-dev
