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