Hi!
Again, I can't manage compiling on windows ... I did some small fixes on the
way, yet, I'm still getting stuck somewhere ...
It's CallNtPowerInformation / HostPowerServiceWin::WndProc.


(1) configure.vbs
(a)
function CheckForXml2Sub(strPathXml2)

  if LogFindFile(strPathXml2, "lib/libxml2.lib") then
' is incorrect, needs to be
  if LogFindFile(strPathXml2, "lib/libxml2.lib")<>"" then

(b)
function CheckForXsltSub(strPathXslt)
  str = LogFindFile(strPathXslt, "lib/libxslt.dll")
' looks for the .dll in the lib subdir, while windows always puts it into
bin path
  str = LogFindFile(strPathXslt, "bin/libxslt.dll")

(2) Config.kmk
Several variables are not defined by the configure.vbs at all; this is OK
for me, but, adding some information to the build instructions would really
help.

PATH_SDK_QT4=C:/Programme/Qt/4.4.3
PATH_TOOL_QT4_BIN=$(PATH_SDK_QT4)/bin

PATH_SDK_QT3=C:/Programme/Qt/3.3.3
PATH_TOOL_QT3_BIN=$(PATH_SDK_QT3)/bin

(3) VBox\Additions\WINNT\Installer
This directory is included in the tar.bz2, but does not contain a
Makefile.kmk (b/c the installer is not part of the OSS).
But the WINNT/Makefile.kmk tries to include Installer/Makefile.kmk, because
the directory exists. Please remove/rename either the directory, add a
Makefile.kmk, or change the check in WINNT/Makefile.kmk to check for
Installer/Makefile.kmk, and not the directory.

(4) libxml2, libxslt, and stuff
(a) libxml2 needs iconv.h, and all files that link libxml2 need libiconv.a.
I installed iconv from the libxml binary distribution into mingw5/iconv and
added to Config.kmk:

SDK_VBOX_ICONV =.
SDK_VBOX_ICONV_INCLUDES  := C:/Programme/MinGW5/iconv/include
SDK_VBOX_ICONV_LIBS  := C:/Programme/MinGW5/iconv/lib/iconv_a.lib

and changed src/VBox/Main/Makefile.kmk

VBoxSettings_SDKS       = VBOX_LIBXSLT VBOX_LIBXML2 VBOX_ZLIB VBOX_ICONV

(b) When using LIBXML_STATIC, it is necessary to link against libxml_a.lib,
not libxml.lib.
I changed AutoConfig.kmk:
SDK_VBOX_LIBXML2_LIBS  := C:/Programme/MinGW5/libxml2/lib/libxml2_a.lib
same applies to xslt:
SDK_VBOX_LIBXSLT_LIBS   := C:/Programme/MinGW5/libxslt/lib/libxslt_a.lib

Patches for the changes up to here are attached.

diff -U3 configure.vbs.orig configure.vbs > configure.vbs.patch
diff -U3 Config.kmk.orig Config.kmk > Config.kmk.patch
diff -U3 src/VBox/Main/Makefile.kmk.orig src/VBox/Main/Makefile.kmk >
        src/VBox/Main/Makefile.kmk.patch




Now, the following error is given:
kBuild: Linking VBoxSVC
kBuild: Compiling tstVMStructSize -
C:/home/Projekte/VirtualBox/VirtualBox-2.1.0/src/VBox/VMM/testcase/tstVMStructSize.cpp
tstVMStructSize.cpp
HostPowerWin.obj : error LNK2019: Nicht aufgelöstes externes Symbol '"long
__stdcall CallNtPowerInformation(enum POWER_INFORMATION_LEVEL,void
*,unsigned long,void *,unsigned long)"
(?CallNtPowerInformation@@YGJW4POWER_INFORMATION_LEVEL@@pax...@z)',
verwiesen in Funktion '"private: static long __stdcall
HostPowerServiceWin::WndProc(struct HWND__ *,unsigned int,unsigned
int,long)" (?wndp...@hostpowerservicewin@@CGJPAUHWND__@@i...@z)'
C:/home/Projekte/VirtualBox/VirtualBox-2.1.0/out/win.x86/release/obj/VBoxSVC/VBoxSVC.exe
: fatal error LNK1120: 1 unaufgelöste externe Verweise
kmk[2]: ***
[C:/home/Projekte/VirtualBox/VirtualBox-2.1.0/out/win.x86/release/obj/VBoxSVC/VBoxSVC.exe]
Error 1120
The failing command:
@ C:/PROGRA~2/MICROS~1.NET/Vc7/bin/link.exe -nologo
  /NOD /INCREMENTAL:NO /MAPINFO:EXPORTS /LARGEADDRESSAWARE /DEBUG
/DISALLOWLIB:libc.lib /DISALLOWLIB:libcd.lib /DISALLOWLIB:msvcrt.lib
/DISALLOWLIB:msvcrtd.lib /DISALLOWLIB:libcmtd.lib /DISALLOWLIB:libcmt.lib
psapi.lib powrprof.lib
/OUT:C:/home/Projekte/VirtualBox/VirtualBox-2.1.0/out/win.x86/release/obj/VBoxSVC/VBoxSVC.exe
/MAPINFO:EXPORTS /INCREMENTAL:NO /MAPINFO:LINES
/MAP:C:/home/Projekte/VirtualBox/VirtualBox-2.1.0/out/win.x86/release/obj/VBoxSVC/VBoxSVC.map
   /LIBPATH:C:/PROGRA~2/MICROS~1.NET/Vc7/PLATFO~1/Lib
/LIBPATH:C:/Programme/WINDDK/3790.1830/lib/wnet/i386
[remainder see attachment}]

Anyone able to help here?

Yours,
Sebastian
--- AutoConfig.kmk.orig 2009-01-08 17:24:45.498770600 +0100
+++ AutoConfig.kmk      2009-01-08 16:49:02.965607900 +0100
@@ -19,9 +19,9 @@
 PATH_SDK_W32API        = c:\Programme\MinGW5
 PATH_SDK_LIBSDL       := C:/Programme/MinGW5/SDL
 SDK_VBOX_LIBXML2_INCS  := C:/Programme/MinGW5/libxml2/include
-SDK_VBOX_LIBXML2_LIBS  := C:/Programme/MinGW5/libxml2/lib/libxml2.lib
+SDK_VBOX_LIBXML2_LIBS  := C:/Programme/MinGW5/libxml2/lib/libxml2_a.lib
 SDK_VBOX_LIBXSLT_INCS   := C:/Programme/MinGW5/libxslt/include
-SDK_VBOX_LIBXSLT_LIBS   := C:/Programme/MinGW5/libxslt/lib/libxslt.lib
+SDK_VBOX_LIBXSLT_LIBS   := C:/Programme/MinGW5/libxslt/lib/libxslt_a.lib
 VBOX_PATH_QT          := C:/Programme/qt/3.3.3
 QTDIR                  = $(VBOX_PATH_QT)
 LIB_QT                 = C:/Programme/qt/3.3.3/lib/qt-mt3.lib
kBuild: Pass - Programs
kmk[1]: Entering directory `C:/home/Projekte/VirtualBox/VirtualBox-2.1.0'
kmk[2]: Entering directory `C:/home/Projekte/VirtualBox/VirtualBox-2.1.0'
kBuild: Linking VBoxSVC
kBuild: Compiling tstVMStructSize - 
C:/home/Projekte/VirtualBox/VirtualBox-2.1.0/src/VBox/VMM/testcase/tstVMStructSize.cpp
tstVMStructSize.cpp
HostPowerWin.obj : error LNK2019: Nicht aufgelöstes externes Symbol '"long 
__stdcall CallNtPowerInformation(enum POWER_INFORMATION_LEVEL,void *,unsigned 
long,void *,unsigned long)" 
(?CallNtPowerInformation@@YGJW4POWER_INFORMATION_LEVEL@@pax...@z)', verwiesen 
in Funktion '"private: static long __stdcall 
HostPowerServiceWin::WndProc(struct HWND__ *,unsigned int,unsigned int,long)" 
(?wndp...@hostpowerservicewin@@CGJPAUHWND__@@i...@z)'
C:/home/Projekte/VirtualBox/VirtualBox-2.1.0/out/win.x86/release/obj/VBoxSVC/VBoxSVC.exe
 : fatal error LNK1120: 1 unaufgelöste externe Verweise
kmk[2]: *** 
[C:/home/Projekte/VirtualBox/VirtualBox-2.1.0/out/win.x86/release/obj/VBoxSVC/VBoxSVC.exe]
 Error 1120
The failing command:
@ C:/PROGRA~2/MICROS~1.NET/Vc7/bin/link.exe -nologo                           
/NOD /INCREMENTAL:NO /MAPINFO:EXPORTS /LARGEADDRESSAWARE /DEBUG 
/DISALLOWLIB:libc.lib /DISALLOWLIB:libcd.lib /DISALLOWLIB:msvcrt.lib 
/DISALLOWLIB:msvcrtd.lib /DISALLOWLIB:libcmtd.lib /DISALLOWLIB:libcmt.lib  
psapi.lib powrprof.lib    
/OUT:C:/home/Projekte/VirtualBox/VirtualBox-2.1.0/out/win.x86/release/obj/VBoxSVC/VBoxSVC.exe
 /MAPINFO:EXPORTS /INCREMENTAL:NO /MAPINFO:LINES 
/MAP:C:/home/Projekte/VirtualBox/VirtualBox-2.1.0/out/win.x86/release/obj/VBoxSVC/VBoxSVC.map
    /LIBPATH:C:/PROGRA~2/MICROS~1.NET/Vc7/PLATFO~1/Lib  
/LIBPATH:C:/Programme/WINDDK/3790.1830/lib/wnet/i386 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\Global.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\Logging.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\AutoLock.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\Matching.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\VirtualBoxBase.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\VirtualBoxErrorInfoImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\VirtualBoxImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\VirtualBoxImplExtra.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\MachineImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\SnapshotImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\MediumImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\HardDisk2Impl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\HardDiskAttachmentImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\HardDiskFormatImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\ProgressImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\DVDDriveImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\FloppyDriveImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\HostImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\HostDVDDriveImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\HostFloppyDriveImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\HostNetworkInterfaceImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\GuestOSTypeImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\NetworkAdapterImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\SerialPortImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\ParallelPortImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\USBControllerImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\SATAControllerImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\AudioAdapterImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\SharedFolderImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\SystemPropertiesImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\BIOSSettingsImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\Version.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\HostPower.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\gen\\Main\\SchemaDefs.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\PerformanceImpl.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\Performance.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\win\\svcmain.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\win\\svchlp.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\win\\HostPowerWin.
obj 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\win\\VBoxSVC.res
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\win\\PerformanceWin.obj
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\obj\\VBoxSVC\\win\\NetIfList-win.obj
      
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\lib\\VBoxDDU.lib
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\lib\\VBoxSettings.lib
 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\lib\\VBoxRT.lib
 C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\lib\\msvcrt.lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\lib\\msvcprt.lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\lib\\oldnames.lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\atlmfc\\lib\\atls.lib 
C:\\home\\Projekte\\VirtualBox\\VirtualBox-2.1.0\\out\\win.x86\\release\\lib\\VBoxCOM.lib
       C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\Kernel32.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\User32.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\Gdi32.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\AdvAPI32.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\Shell32.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\ShLwApi.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\SetupAPI.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\Uuid.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\Version.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\WS2_32.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\Ole32.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\OleAut32.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\OleDlg.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\RpcRT4.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\DbgHelp.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\ImageHlp.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\IPHlpApi.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\ComCtl32.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\ComDlg32.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\WinSpool.Lib 
C:\\PROGRA~2\\MICROS~1.NET\\Vc7\\PLATFO~1\\Lib\\WinMM.Lib
kmk[2]: *** Waiting for unfinished jobs....
kmk[2]: Leaving directory `C:/home/Projekte/VirtualBox/VirtualBox-2.1.0'
kmk[1]: *** [pass_binaries_this] Error 2
kmk[1]: Leaving directory `C:/home/Projekte/VirtualBox/VirtualBox-2.1.0'
kmk: *** [pass_binaries_order] Error 2
--- Config.kmk.orig     2008-12-17 11:40:51.000000000 +0100
+++ Config.kmk  2009-01-08 17:17:55.142021900 +0100
@@ -21,6 +21,17 @@
 # Marker.
 VBOX_ROOT_CONFIG_KMK_INCLUDED = 1
 
+PATH_SDK_QT4=C:/Programme/Qt/4.4.3
+PATH_TOOL_QT4_BIN=$(PATH_SDK_QT4)/bin
+
+PATH_SDK_QT3=C:/Programme/Qt/3.3.3
+PATH_TOOL_QT3_BIN=$(PATH_SDK_QT3)/bin
+
+SDK_VBOX_ICONV =.
+SDK_VBOX_ICONV_INCS  := C:/Programme/MinGW5/iconv/include
+SDK_VBOX_ICONV_LIBS  := C:/Programme/MinGW5/iconv/lib/iconv_a.lib
+
+
 #
 # kBuild stuff
 #

--- configure.vbs.orig  2008-12-13 23:00:22.000000000 +0100
+++ configure.vbs       2009-01-08 16:46:00.748024100 +0100
@@ -1507,7 +1507,7 @@
             end if
          end if
          if strVer <> "" then
-            if (iMajor = 3) And (iMinor = 3) then
+            if (iMajor = 3) And ((iMinor = 3) Or (iMinor=4)) then
                CheckForMingWSub = True
                g_strSubOutput = strVer
             else
@@ -1673,7 +1673,7 @@
       then
       str = LogFindFile(strPathXml2, "bin/libxml2.dll")
       if str <> "" then
-         if LogFindFile(strPathXml2, "lib/libxml2.lib") then
+         if LogFindFile(strPathXml2, "lib/libxml2.lib")<>"" then
             CheckForXml2Sub = True
          end if
       end if
@@ -1752,7 +1752,7 @@
    if   LogFileExists(strPathXslt, "include/libxslt/namespaces.h") _
     And LogFileExists(strPathXslt, "include/libxslt/xsltutils.h") _
       then
-      str = LogFindFile(strPathXslt, "lib/libxslt.dll")
+      str = LogFindFile(strPathXslt, "bin/libxslt.dll")
       if str <> "" then
          if   LogFileExists(strPathXslt, "lib/libxslt.lib") _
             then
--- src/VBox/Main/Makefile.kmk.orig     2008-12-13 23:00:15.000000000 +0100
+++ src/VBox/Main/Makefile.kmk  2009-01-08 16:48:46.496963300 +0100
@@ -561,7 +561,7 @@
 DLLS += VBoxSettings
 VBoxSettings_TEMPLATE  = VBOXMAINDLL
 VBoxSettings_NAME       = $(basename $(notdir $(LIB_SETTINGS)))
-VBoxSettings_SDKS       = VBOX_LIBXSLT VBOX_LIBXML2 VBOX_ZLIB
+VBoxSettings_SDKS       = VBOX_LIBXSLT VBOX_LIBXML2 VBOX_ZLIB VBOX_ICONV
 VBoxSettings_DEFS       = IN_VBOXXML_R3
 VBoxSettings_INCS       = \
        include

_______________________________________________
vbox-dev mailing list
vbox-dev@virtualbox.org
http://vbox.innotek.de/mailman/listinfo/vbox-dev

Reply via email to