Page 1 of 1

Building VirtualBox OSE 3.2.8 on Windows (use VS2005)

Posted: 21. Sep 2010, 01:45
by yk700101
The build maybe succeeded.
But

Code: Select all

  VirtualBox-3.2.8_OSE\src\VBox\Additions\WINNT\VBoxCredProv
could not build.

This is for reference.

Prerequisites

Code: Select all

Windows Server 2003 Web Edition SP2

Visual Studio 2005 Professional Edition with service pack 1

Windows Platform SDK
  Windows Server 2003 R2 Platform SDK 
  
Windows Driver Development Kit
  Windows Server 2003 SP1 DDK
  
DirectX SDK
  Microsoft DirectX SDK (November 2008)

MingW
  GCC Version 3
    gcc-core-3.3.3-20040217-1.tar.gz
    gcc-g++-3.3.3-20040217-1.tar.gz

  MinGW Runtime
    mingwrt-3.18-mingw32-dev.tar.gz

  MinGW API for MS-Windows
    w32api-3.15-1-mingw32-dev.tar.lzma

  GNU Binutils
    binutils-2.20.51-1-mingw32-bin.tar.lzma

SDL
  SDL-devel-1.2.14-VC8.zip

QT
  qt-everywhere-opensource-src-4.6.3.zip
  
OpenSSL
  openssl-0.9.8o.tar.gz

cURL
  curl-7.21.1.tar.lzma

python
  python-2.7.msi

gSOAP
  gsoap_2.8.0.zip
Prerequisites(for building libraries)

Code: Select all

Perl
  ActivePerl-5.12.2.1202-MSWin32-x86-293621.msi

NASM
  nasm-2.09.02-installer.exe
Directory tree

Code: Select all

  E:\Perl
  E:\Program Files\Microsoft DirectX SDK (November 2008)
  E:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2
  E:\Program Files\Microsoft Visual Studio 8\VC
  E:\Program Files\nasm
  E:\Python27
  E:\WINDDK\3790.1830

  E:\z_Build2
  ? curl-7.21.1
  ? gsoap-2.8
  ? mingw
  ? openssl-0.9.8o
  ? qt-everywhere-opensource-src-4.6.3
  ? SDL-1.2.14
  ? VirtualBox-3.2.8_OSE
Command Prompt for build

Code: Select all

Start -> Programs -> Microsoft Visual Studio 2005 -> Visual Studio Tools -> Visual Studio 2005 Command Prompt
Building Qt4
  • Command

    Code: Select all

    "E:\Program Files\Microsoft DirectX SDK (November 2008)\Utilities\Bin\dx_setenv.cmd"
    
    set PATH=%PATH%;E:\z_Build2\qt-everywhere-opensource-src-4.6.3\bin;
    
    cd E:\z_Build2\qt-everywhere-opensource-src-4.6.3
    
    configure ^
      -release -opensource -shared -no-ltcg -no-fast ^
      -exceptions -accessibility -stl -no-sql-sqlite ^
      -no-qt3support -no-openvg -graphicssystem raster ^
      -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff ^
      -qt-libjpeg -no-dsp -no-vcproj -no-incredibuild-xge ^
      -no-plugin-manifests -qmake -process -rtti -no-mmx ^
      -no-3dnow -no-sse -no-sse2 -no-openssl -no-dbus ^
      -no-phonon -no-phonon-backend -no-multimedia ^
      -no-audio-backend -no-webkit -no-script ^
      -no-scripttools -no-declarative ^
      -arch windows ^
      -qt-style-windows ^
      -qt-style-windowsxp -qt-style-windowsvista ^
      -qt-style-plastique -qt-style-cleanlooks ^
      -no-style-motif -no-style-cde ^
      -no-native-gestures
    

    Code: Select all

    nmake > E:\z_Build2\qt-everywhere-opensource-src-4.6.3.build.log 2>&1
    

Building OpenSSL
  • Command

    Code: Select all

    set PATH=%PATH%;E:\Perl\bin;E:\Program Files\nasm
    
    cd E:\z_Build2\openssl-0.9.8o
    
    perl Configure VC-WIN32 --prefix=E:/z_Build2/openssl ^
      > E:\z_Build2\openssl-0.9.8o.configure.log 2>&1
    
    ms\do_nasm ^
      > E:\z_Build2\openssl-0.9.8o.assembly_language.log 2>&1
    

    Code: Select all

    nmake -f ms\ntdll.mak ^
      > E:\z_Build2\openssl-0.9.8o.build.log 2>&1
    
    nmake -f ms\ntdll.mak test ^
      > E:\z_Build2\openssl-0.9.8o.test.log 2>&1
    
    nmake -f ms\ntdll.mak install ^
      > E:\z_Build2\openssl-0.9.8o.install.log 2>&1
    
Building cURL
  • Command

    Code: Select all

    cd E:\z_Build2\curl-7.21.1
    
    pushd lib
    nmake /f Makefile.vc8 cfg=release-dll ^
      > E:\z_Build2\curl-7.21.1.build-dll.log 2>&1
    popd
    

    Code: Select all

    xcopy /E /I ^
      E:\z_Build2\curl-7.21.1\include ^
      E:\z_Build2\libcurl\include
    
    pushd E:\z_Build2\curl-7.21.1\lib\release-dll
    copy libcurl.dll     E:\z_Build2\libcurl
    copy libcurl_imp.lib E:\z_Build2\libcurl\libcurl.lib
    popd
    
Building VirtualBox(configure)
  • Command

    Code: Select all

    cd E:\z_Build2\VirtualBox-3.2.8_OSE
    
    cscript configure.vbs ^
      --with-DDK="E:\WINDDK\3790.1830" ^
      --with-DXSDK="E:\Program Files\Microsoft DirectX SDK (November 2008)" ^
      --with-libSDL=E:\z_Build2\SDL-1.2.14 ^
      --with-MinGW=E:\z_Build2\mingw ^
      --with-Qt4=E:\z_Build2\qt-everywhere-opensource-src-4.6.3 ^
      --with-SDK="E:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2" ^
      --with-python=E:\Python27 ^
      --with-openssl=E:\z_Build2\openssl ^
      --with-libcurl=E:\z_Build2\libcurl ^
      > E:\z_Build2\VirtualBox-3.2.8_OSE.configure.log 2>&1
    
Building VirtualBox(make)
  • Prepare
    Edit E:\z_Build2\VirtualBox-3.2.8_OSE\AutoConfig.kmk
    Add to the bottom

    Code: Select all

    VBOX_GSOAP_INSTALLED = 1
    VBOX_PATH_GSOAP := E:/z_Build2/gsoap-2.8/gsoap
    VBOX_PATH_GSOAP_BIN   := $(VBOX_PATH_GSOAP)/bin/win32
    PATH_SDK_WINDDK := $(PATH_SDK_W2K3DDK)
    
  • Command

    Code: Select all

    cd E:\z_Build2\VirtualBox-3.2.8_OSE
    
    env.bat
    
    set PATH=%PATH%;E:\z_Build2\mingw\bin;
    
    set PATH=%PATH%;E:\z_Build2\qt-everywhere-opensource-src-4.6.3\bin;
    
    kmk > E:\z_Build2\VirtualBox-3.2.8_OSE.build.log 2>&1
    
  • Error-1

    Code: Select all

    kBuild: Compiling VBoxCredProv - E:/z_Build2/VirtualBox-3.2.8_OSE/src/VBox/Additions/WINNT/VBoxCredProv/helpers.cpp
    helpers.cpp
    e:\z_build2\virtualbox-3.2.8_ose\src\vbox\additions\winnt\vboxcredprov\common.h(19) : fatal error C1083: Cannot open include file: 'credentialprovider.h': No such file or directory
    kmk.exe[2]: *** [E:/z_Build2/VirtualBox-3.2.8_OSE/out/win.x86/release/obj/VBoxCredProv/helpers.obj] Error 2
    The failing command:
    @ E:/PROGRA~1/MICROS~1/VC/bin/cl.exe -c -TP -c -nologo -O2 -Zi -Zl -GR- -EHsc -GF -W3 -wd4065 -wd4244 -wd4996 -Zc:wchar_t- -O2 -GS- -Oy- -MT -IE:/z_Build2/VirtualBox-3.2.8_OSE/tools/win.x86/sdk/x200702//Include -IE:/PROGRA~1/MICROS~3/Include -IE:/WINDDK/3790.1830/inc/api -IE:/WINDDK/3790.1830/inc/ddk -IE:/z_Build2/VirtualBox-3.2.8_OSE/include -IE:/z_Build2/VirtualBox-3.2.8_OSE/out/win.x86/release -IE:/PROGRA~1/MICROS~1/VC/include -IE:/PROGRA~1/MICROS~1/VC/atlmfc/include -DVBOX -DVBOX_OSE -DVBOX_WITH_64_BITS_GUESTS -DRT_OS_WINDOWS -D__WIN__ -DRT_ARCH_X86 -D__X86__ -D__WIN32__ -D_X86_=1 -Di386=1 -DSTD_CALL -DIN_RING3 -DHC_ARCH_BITS=32 -DGC_ARCH_BITS=64 -DIN_GUEST -DIN_GUEST_R3 -DIN_RT_R3 -DLOG_TO_BACKDOOR -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DUNICODE -FdE:/z_Build2/VirtualBox-3.2.8_OSE/out/win.x86/release/obj/VBoxCredProv/helpers-obj.pdb -FD -FoE:/z_Build2/VirtualBox-3.2.8_OSE/out/win.x86/release/obj/VBoxCredProv/helpers.obj E:\\z_Build2\\VirtualBox-3.2.8_OSE\\src\\VBox\\Additions\\WINNT\\VBoxCredProv\\helpers.cpp
    
  • Resolve-1-1

    Code: Select all

    pushd E:\z_Build2\VirtualBox-3.2.8_OSE\src\VBox\Additions\WINNT
    move Makefile.kmk          Makefile.kmk.original
    copy Makefile.kmk.original Makefile.kmk
    popd
    
  • Resolve-1-2
    Change E:\z_Build2\VirtualBox-3.2.8_OSE\src\VBox\Additions\WINNT\Makefile.kmk (Line 27)

    Code: Select all

    include $(PATH_SUB_CURRENT)/VBoxCredProv/Makefile.kmk
    
    to

    Code: Select all

    # include $(PATH_SUB_CURRENT)/VBoxCredProv/Makefile.kmk
    
After build
  • Prepare for install

    Code: Select all

    pushd E:\z_Build2\VirtualBox-3.2.8_OSE\out\win.x86\release\bin
    
    copy E:\z_Build2\qt-everywhere-opensource-src-4.6.3\bin\QtCore4.dll .
    copy E:\z_Build2\qt-everywhere-opensource-src-4.6.3\bin\QtGui4.dll .
    copy E:\z_Build2\qt-everywhere-opensource-src-4.6.3\bin\QtNetwork4.dll .
    copy E:\z_Build2\qt-everywhere-opensource-src-4.6.3\bin\QtOpenGL4.dll .
    
    copy E:\z_Build2\openssl\bin\libeay32.dll .
    
    copy E:\z_Build2\libcurl\libcurl.dll .
    
    popd
    
  • Install
     Edit: change execution sequence 

    Code: Select all

    pushd E:\z_Build2\VirtualBox-3.2.8_OSE\out\win.x86\release\bin
    
    comregister.cmd
    
    NetAdpUninstall.exe
    NetFltUninstall.exe
    SUPUninstall.exe
    
    NetAdpInstall.exe
    NetFltInstall.exe
    SUPInstall.exe
    
    REM please use device manager for Host-Only net interface installation.
    
    popd
    
  • Install (for Windows Vista)
    My VirtualBox directory is "C:\yk_prog\VirtualBox_OSE".

    Open Command Prompt(Run as administrator)
     Edit: change execution sequence 

    Code: Select all

    cd C:\yk_prog\VirtualBox_OSE
    
    comregister.cmd
    
    NetAdpUninstall.exe
    NetFltUninstall.exe
    SUPUninstall.exe
    
    NetAdpInstall.exe
    NetFltInstall.exe
    SUPInstall.exe
    
    InfDefaultInstall.exe C:\yk_prog\VirtualBox_OSE\VBoxDrv.inf
    
    REM Dummy
    VBoxSDL.exe
    
    REM please use device manager for Host-Only net interface installation.
    
  • Install Log (for Windows Vista)
     Edit: change execution sequence 

    Code: Select all

    Microsoft Windows [Version 6.0.6002]
    Copyright (c) 2006 Microsoft Corporation.  All rights reserved.
    
    C:\Windows\system32>cd C:\yk_prog\VirtualBox_OSE
    
    C:\yk_prog\VirtualBox_OSE>
    C:\yk_prog\VirtualBox_OSE>comregister.cmd
    
    C:\yk_prog\VirtualBox_OSE>
    C:\yk_prog\VirtualBox_OSE>NetAdpUninstall.exe
    uninstalling all Host-Only interfaces..
    uninstalled successfully
    
    C:\yk_prog\VirtualBox_OSE>NetFltUninstall.exe
    NetFlt Is Installed currently
    uninstalled successfully
    
    C:\yk_prog\VirtualBox_OSE>SUPUninstall.exe
    uninstalled successfully
    
    C:\yk_prog\VirtualBox_OSE>
    C:\yk_prog\VirtualBox_OSE>NetAdpInstall.exe
    not implemented yet, please use device manager for Host-Only net interface installation.. sorry :(
    
    C:\yk_prog\VirtualBox_OSE>NetFltInstall.exe
    NetFlt Is Not Installed currently
    installed successfully
    
    C:\yk_prog\VirtualBox_OSE>SUPInstall.exe
    installed successfully
    
    C:\yk_prog\VirtualBox_OSE>
    C:\yk_prog\VirtualBox_OSE>InfDefaultInstall.exe C:\yk_prog\VirtualBox_OSE\VBoxDrv.inf
    
    C:\yk_prog\VirtualBox_OSE>
    C:\yk_prog\VirtualBox_OSE>REM Dummy
    
    C:\yk_prog\VirtualBox_OSE>VBoxSDL.exe
    Oracle VM VirtualBox SDL GUI version 3.2.8_OSE
    (C) 2005-2010 Oracle Corporation
    All rights reserved.
    
    Usage:
      --startvm <uuid|name>    Virtual machine to start, either UUID or name
      --hda <file>             Set temporary first hard disk to file
      --fda <file>             Set temporary first floppy disk to file
      --cdrom <file>           Set temporary CDROM/DVD to file/device ('none' to unmount)
      --boot <a|c|d|n>         Set temporary boot device (a = floppy, c = 1st HD, d = DVD, n = network)
      --memory <size>          Set temporary memory size in megabytes
      --vram <size>            Set temporary size of video memory in megabytes
      --fullscreen             Start VM in fullscreen mode
      --fullscreenresize       Resize the guest on fullscreen
      --fixedmode <w> <h> <bpp> Use a fixed SDL video mode with given width, height and bits per pixel
      --nofstoggle             Forbid switching to/from fullscreen mode
      --noresize               Make the SDL frame non resizable
      --nohostkey              Disable all hostkey combinations
      --nohostkeys ...         Disable specific hostkey combinations, see below for valid keys
      --nograbonclick          Disable mouse/keyboard grabbing on mouse click w/o additions
      --detecthostkey          Get the hostkey identifier and modifier state
      --hostkey <key> {<key2>} <mod> Set the host key to the values obtained using --detecthostkey
      --termacpi               Send an ACPI power button event when closing the window
      --discardstate           Discard saved state (if present) and revert to last snapshot (if present)
      --[no]rawr0              Enable or disable raw ring 3
      --[no]rawr3              Enable or disable raw ring 0
      --[no]patm               Enable or disable PATM
      --[no]csam               Enable or disable CSAM
      --[no]hwvirtex           Permit or deny the usage of VT-x/AMD-V
    
    Key bindings:
      <hostkey> +  f           Switch to full screen / restore to previous view
                   h           Press ACPI power button
                   n           Take a snapshot and continue execution
                   p           Pause / resume execution
                   q           Power off
                   r           VM reset
                   s           Save state and power off
                  <del>        Send <ctrl><alt><del>
           <F1>...<F12>        Send <ctrl><alt><Fx>
    
    
    C:\yk_prog\VirtualBox_OSE>
    C:\yk_prog\VirtualBox_OSE>REM please use device manager for Host-Only net interface installation.
    
    C:\yk_prog\VirtualBox_OSE>
    

Re: Building VirtualBox OSE 3.2.8 on Windows (use VS2005)

Posted: 24. Sep 2010, 00:07
by techjack
Hey, so you posted it. gr8.
I was able to build it too.
Now, I am trying building 64bit version and having hard time.