A forum for reverse engineering, OS internals and malware analysis 

Forum for announcements and questions about tools and software.
 #29704  by rootw0rm
 Sun Dec 11, 2016 8:43 am
Building VirtualBox on Windows is a bigger pain in the ass than it should be, and requires some bug fixes and a few details that are missing from the documentation. If I put together a few scripts that would download the required sources, build the libs, patch the makefiles, and generate a proper kmk config file, would anyone care?
 #29707  by Vrtule
 Mon Dec 12, 2016 9:07 am
rootw0rm wrote:Building VirtualBox on Windows is a bigger pain in the ass than it should be, and requires some bug fixes and a few details that are missing from the documentation. If I put together a few scripts that would download the required sources, build the libs, patch the makefiles, and generate a proper kmk config file, would anyone care?
It is usually better not to ask and do the thing. There usually is someone who whould care. I remember compiling VirtualBox in Windows back in 2007 and yes, it was "pain in the ass". It took us about three days to figure everything out and make necessary patch. So I am quite disappointed to hear that the situation did not change too much.
 #29755  by rootw0rm
 Tue Dec 20, 2016 3:00 pm
Vrtule wrote:I remember compiling VirtualBox in Windows back in 2007 and yes, it was "pain in the ass". It took us about three days to figure everything out and make necessary patch. So I am quite disappointed to hear that the situation did not change too much.
It's not horrible, but not simple either. I have at least learned all about the build system, and even understand large chunks of VBox itself now, so that's good.

super busy for the holidays, but i've started work on it. There are definitely sections of code that are just flat out wrong. i get the feeling that Oracle is either sloppy or purposefully hindering the OSE version.
i'm going to completely replace the configure.vbs script and generate proper kmk config files myself.
some of the config code looks for 1.0.x openssl libs, while newer parts of the make system try to link to 1.1.x openssl libs, it's a mess.

First release will use a target toolset of VS 2010 SP1 + 7.1A SDK.
I've added support to kbuild for VS2017 toolset, but that will be tested as a separate project.
one shortcoming to the kbuild system is that it absolutely doesn't tolerate paths with spaces. there are a number of ways around this: a.) use 8.3 paths, b.) use subst, c.) use symbolic links, or d.) make kbuild smarter. i'm using option c for now, but anyone willing to tackle option d would simplify things.

cheers!