Page 1 of 1

Can not build VirtualBox 1.6.2 OSE on Windows XP 64 bit

Posted: 15. Sep 2008, 15:12
by Uday
Hi,

I successfully built VirtualBox 1.6.2 OSE on Windows XP 32 bit when I followed the build instructions http://www.virtualbox.org/wiki/Windows% ... structions However when I tried to run those binaries on 64 bit platform, I get runtime errors.

This made me try building the VirtualBox on a 64bit platform. However, for this, I had to change configure.vbs a bit so that binaries from "kBuild\bin\win.amd64" had to be considered.

Later on i got an error when kmk failed to create a processess "yasm.exe" This got resolved when i added "tools\win.amd64\bin" into path variable.

But now a am stuck with following error,
process_begin: CreateProcess(NULL, x86_64-unknown-linux-gnu-g++.exe -c -g -O2 -n
ostdinc -fno-strict-aliasing -fno-math-errno -Wall -m64 -mcmodel=medium -fno-com
mon -IE:/vbsource/VirtualBox/src/VBox/Runtime/include -IE:/vbsource/VirtualBox/i
nclude/iprt/nocrt -IE:/vbsource/VirtualBox/include -IE:/vbsource/VirtualBox/out/
win.amd64/release -DVBOX -DVBOX_OSE -DRT_OS_WINDOWS -D__WIN__ -DRT_ARCH_AMD64 -D
__AMD64__ -D__WIN64__ -DIN_RING3 -DIPRT_NO_CRT -DHC_ARCH_BITS=64 -DGC_ARCH_BITS=
32 -Wp,-MD,E:/vbsource/VirtualBox/out/win.amd64/release/obj/src/VBox/Runtime/Run
timeR3NoCRTGCC/common/misc/sanity-cpp.o.dep -Wp,-MT,E:/vbsource/VirtualBox/out/w
in.amd64/release/obj/src/VBox/Runtime/RuntimeR3NoCRTGCC/common/misc/sanity-cpp.o
-Wp,-MP -o E:/vbsource/VirtualBox/out/win.amd64/release/obj/src/VBox/Runtime/Ru
ntimeR3NoCRTGCC/common/misc/sanity-cpp.o E:/vbsource/VirtualBox/src/VBox/Runtime
/common/misc/sanity-cpp.cpp, ...) failed.
Did anyone come across such error? What other settings do I need to do to get the VirtualBox built on 64bit platform?

Thanks in advance

-Uday

Posted: 30. Sep 2008, 18:12
by Dest
From what I can tell there is no current working 64bit version of mingw that will compile virtualbox (or fully working 64bit version of mingw period).

I would have to assume that the 64bit windows versions that are produced are a resultset from a cross compiler probably on a linux system.

I might setup a linux box tonight and give that a try but I haven't had time as of yet.

Posted: 3. Oct 2008, 14:42
by Uday
Thanks for the reply Dest.

I downloaded 64bit MinGW from http://www.esnips.com/web/MinGW64 and went ahead with compilation after making few changes in couple of makefiles.

However, I am stuck at the place where the compilation fails saying
E:/vbsource/VirtualBox/src/recompiler/target-i386/ops_sse.h: In function 'op_punpckhqdq_xmm':
E:/vbsource/VirtualBox/src/recompiler/target-i386/ops_sse.h:1400: warning: cast from pointer to integer of different size
E:/vbsource/VirtualBox/src/recompiler/target-i386/ops_sse.h:1400: warning: cast from pointer to integer of different size
kBuild: dyngen VBoxREM - E:/vbsource/VirtualBox/out/win.amd64/release/obj/src/recompiler/VBoxREM2/target-i386/op.o
dyngen: bad ELF header
kmk.exe[2]: *** [E:/vbsource/VirtualBox/out/win.amd64/release/obj/src/recompiler/VBoxREM2/op.h] Error 1
kmk.exe[2]: *** Deleting file `E:/vbsource/VirtualBox/out/win.amd64/release/obj/src/recompiler/VBoxREM2/op.h'
kmk.exe[2]: Leaving directory `E:/vbsource/VirtualBox/src/recompiler'
kmk.exe[1]: *** [pass_binaries_before] Error 2
kmk.exe[1]: Leaving directory `E:/vbsource/VirtualBox/src'
kmk: *** [pass_binaries_before] Error 2
Any idea what this error means and how to get rid of this?

Also did you get a chance to build it at your end using cross compiler?

-Uday

Posted: 3. Oct 2008, 18:42
by Dest
No.... i did some more reading and it looks like the devs use a windows system with a set of g++bintools built for cross compiling..