Page 1 of 1

Building VBox OSE v5.0.0 on Win 7 x64 - Dll Loading

PostPosted: 27. Jul 2015, 18:40
by mhbelt
I have the same issue building VBox OSE x64 v4.3.28 and v5.0.0 on two different Windows 7 X64 machines, so I'm confident I'm missing a step. Some help would be appreciated.

Build Information: (Windows 7 x64, Visual Studio 2010 Pro)

Steps I Performed beyond the instructions posted on the Windows Build Instructions page.
- Compiled QT4.7 64-bit from source, since QT4.7 binaries are only distributed in 32-bit for Windows.
- Compiled LibCurl from source for a similar reason. (The binary mentioned on the instructions page "the devel version without SSL support" doesn't exist anymore).
- Edited Config.kmk:1096 - Hard coded the nm.exe path, since VBOX_NM looks in the 32-bit MinGW directory regardless of target architecture.
- Installed/compiled 32 bit versions of LibSSL and LibCurl in addition to the 64 bit versions, and added (SDK_VBOX_LIBCURL-x86_LIBS, SDK_VBOX_LIBCUR-x86_INCS, SDK_VBOX_OPENSSL-x86_LIBS, SDK_VBOX_OPENSSL-x86_INCS) to AutoConfig.kmk.
- I call KBuild\envwin.cmd --win64 in between running env.bat and kmk.
- I had to manually copy my 32-bit libcurl.dll to /out/win.amd64/release/lib/VBox-libcurl-x64.lib
- I commented out the test case for tstAsmStructsAsm in the VMM testcases. (It was failing)
- I had to manually copy the contents of SignTool and Inf2Cat.exe to tools/win.x86/selfsign/r1

The Issue:
Even if they are in my path, I get errors about missing dlls when I run comregister.cmd. (libcurl.dll, libeay32.dll, libssl32.dll) If I copy these DLLs (64-bit versions of each), into /bin of the build directory, comregister.cmd and loadall.cmd work.
BUT
When I try to run VBoxSDL.exe or VBoxHeadless.exe I get the following error
Code: Select all   Expand viewCollapse view
VBoxSDL: supR3HardenedScreenImage/Imports: rc=Unknown Status -22900 (0xffffa68c) fImage=1 fProtect=0x0 fAccess=0x0 \Device\HarddiskVolume3\vbox\VirtualBox-5.0.0\out\win.amd64\release\bin\libeay32.dll: Not signed.: \Device\HarddiskVolume3\vbox\VirtualBox-5.0.0\out\win.amd64\release\bin\libeay32.dll
VBoxSDL: supR3HardenedScreenImage/Imports: rc=Unknown Status -22900 (0xffffa68c) fImage=1 fProtect=0x0 fAccess=0x0 \Device\HarddiskVolume3\vbox\VirtualBox-5.0.0\out\win.amd64\release\bin\ssleay32.dll: Not signed.: \Device\HarddiskVolume3\vbox\VirtualBox-5.0.0\out\win.amd64\release\bin\ssleay32.dll
VBoxSDL: supR3HardenedScreenImage/Imports: rc=Unknown Status -22900 (0xffffa68c) fImage=1 fProtect=0x0 fAccess=0x0 \Device\HarddiskVolume3\vbox\VirtualBox-5.0.0\out\win.amd64\release\bin\libcurl.dll: Not signed.: \Device\HarddiskVolume3\vbox\VirtualBox-5.0.0\out\win.amd64\release\bin\libcurl.dll
VBoxSDL: supR3HardenedScreenImage/NtCreateSection: cached rc=Unknown Status -22900 (0xffffa68c) fImage=1 fProtect=0x10 fAccess=0xf cHits=1 \Device\HarddiskVolume3\vbox\VirtualBox-5.0.0\out\win.amd64\release\bin\libcurl.dll
VBoxSDL: Error -610 in supR3HardenedMainInitRuntime!
VBoxSDL: LoadLibrary "C:\vbox\VirtualBox-5.0.0\out\win.amd64\release\bin/VBoxRT.dll" failed (rc=1790)

VBoxSDL: Tip! It may help to reinstall VirtualBox.

C:\vbox\VirtualBox-5.0.0\out\win.amd64\release\bin>



One interesting note, one of my DLLs (probably LIBSSL) is using the MSVCR120 Dll (Microsoft C Runtime v13.0). I noticed this when comregister.cmd threw up a missing dll error. Everything I compiled is using MSVCR100, since VS 2010 is too old to support the C++ v13 runtime. It worked after I installed the C++ 13.0 redistributable, but I'm wondering if mixmatched C runtimes could be causing this issue.

Re: Building VBox OSE v5.0.0 on Win 7 x64 - Dll Loading

PostPosted: 27. Jul 2015, 23:24
by mhanor

Re: Building VBox OSE v5.0.0 on Win 7 x64 - Dll Loading

PostPosted: 28. Jul 2015, 00:28
by mhbelt
That did it! Thanks mhanor.

Re: Building VBox OSE v5.0.0 on Win 7 x64 - Dll Loading

PostPosted: 3. Aug 2015, 15:54
by NTI
Hi mhbelt

May I asked which version of LibCurl source code did you download and what build commands did you use to build it? Did you use Visual Studio compiler or gcc compiler to build?

Many thanks.