[vbox-dev] building and running VirtualBox on Mac OS X

Knut St. Osmundsen bird at innotek.de
Mon Sep 3 08:58:28 PDT 2007

Egor Egorov wrote:
> On 3 сент. 2007, at 17:02, Knut St. Osmundsen wrote:
>>> I'm trying to build VirtualBox from SVN on intel Mac OS X 10.4.10  
>>> with
>>> last dev tools. I found the kLdr package "from month ago" and put the
>>> source into src/VBox/Runtime/kLdr, I configure as:
>>> ./configure --disable-sdl-ttf
>>> --with-gcc=/opt/local/bin/i386-elf-gcc-3.4.3
>>>  --with-g++=/opt/local/bin/i386-elf-g++-3.4.3  --ose
>> The gcc and g++ compilers you point configure to here aren't right. I
>> guess that's because the gcc version check logic in configure didn't
>> account for mac os x using gcc 4.0.x. That's been fixed now. So,  
>> running
>> ./configure without any arguments should work fine again.
> As it is written at Mac OS X build instructions page, I had to  
> install i386-elf-gcc port. So, should I use stock gccs? I'll try now.

Yes, we use stock gcc for almost everything (btw. make sure it's a 
relatively recent gcc/as/ld combo). There is one place where we have to 
use i386-elf-gcc and that's in src/recompiler (op.c).

>>> It builds, though, I had to tweak makefiles to omit non-existing  
>>> darwin
>>> installation and USB support, but it's minor.
>> I've fixed makefiles so that now tweaks should be necessary.
> One more little fix, I guess :)
> --- src/VBox/Installer/Makefile.kmk     (revision 4497)
> +++ src/VBox/Installer/Makefile.kmk     (working copy)
> @@ -23,9 +23,6 @@
>   ifeq ($(BUILD_PLATFORM),linux)
>    SUBDIRS.linux = linux
>   endif
> -ifeq ($(BUILD_PLATFORM),darwin)
> - SUBDIRS.darwin = darwin
> -endif
>   include $(PATH_KBUILD)/footer.kmk

This should be fixed already by Config.kmk undefining 
VBOX_WITH_INSTALLER at line 363, and thus preventing 
src/VBox/Makefile.kmk from entering src/VBox/Installer.

>> I've fixed this problem. The src/VBox/VMM/Makefile.kmk had an  
>> obsoleted
>> VBOX_OSE hack. If you've loaded VBoxDrv.kext and checked out kLdr
>> correctly, it should work now. The kext can be loaded using the  
>> load.sh
>> script found in out/darwin.x86/release/dist. kLdr you can get by
>> entering src/VBox/Runtime and typing:
>>    svn co http://svn.netlabs.org/repos/libc/trunk/kLdr@3523 kLdr
> Yes, I have it (took some time to figure out where to find kLdr  
> repository, though); Should I build with it or without it? What's the  
> right way?

It's required for the non-fake mode to work (you'll get something like 
VERR_BAD_EXE_FORMAT or similar if you don't include it). We will 
integrate it a little bit better when we get time.

Kind Regards,

More information about the vbox-dev mailing list