Prerequisites on Mac OS X
- 10.10.x (Yosemite) or later running on Intel hardware (PowerPC hardware is not supported nor is building an X11 variant).
Then perform the following command:
sudo port install libidl acpica yasm subversion doxygen texlive texlive-latex-extra texlive-fonts-extra x86_64-elf-gcc
Doxygen, texlive* and x86_64-elf-gcc are optional (first two for documentation, latter for the validation kit).
- Qt/Mac 5.,6 eller senare (http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x)
- laddning av självbyggda kärntillägg (kexts) på senare OS X kan kräva ändringar i systemkonfigurationen om du inte har ett kext-signeringscertifikat och kör 10.14 (High Sierra) eller tidigare.För 10.11 (El Capitan) och senare starta till återställningspartitionen och antingen aktivera lastning av osignerade kexts:
csrutil enable --without kext
eller inaktivera SIP alla tillsammans:
csrutil disable
för 10.,15 (Catalina) och senare måste du också inaktivera omstartkravet (även från återställningspartitionen):
spctl kext-consent disable
om du kör 10.10 (Yosemite) finns det ett boot-args-alternativ för att tillåta laddning av osignerade kexts. Kör följande och starta om:
sudo nvram boot-args="kext-dev-mode=1"
bygga VirtualBox
- Byt till källornas rotkatalog och kör konfigurationsskriptet:
./configure --disable-hardening
du kan manuellt ställa in målarkitekturen med –target-arch=x86 eller amd64, om vissa arkitektrelaterade problem uppstår.,
om den hittar allt den behöver kommer den att skapa en fil som heter !AutoConfig.kmk innehåller vägar till de olika verktygen på ditt system. Dessutom kommer det att skapa en miljö setup script kallas env.sh. det här steget behöver bara göras en gång (om något ändras i din byggverktygsinställning kan du behöva upprepa det men kom ihåg att båda utdatafilerna kommer att skrivas över).
- när du vill bygga VirtualBox måste du öppna ett skal och källa det genererade miljöinställningsskriptet env.sh, d. v. s., gör
. ./env.sh
- för att bygga typ
kmk
Standardvärdet är en utgåva build, om du vill göra en debug eller profil build add BUILD_TYPE=debug eller BUILD_TYPE=profil som argument till kmk eller exportera den som en miljövariabel i ditt skal.
kör VirtualBox
- ladda alla kärntilläggsmoduler. Dessa kan hittas i out / darwin.x86/release/dist tillsammans med ett litet skript (loadall.sh) för att ladda dem. Utför och se till att modulerna laddas framgångsrikt.
- ange ut / darwin.x86/release/dist/VirtualBox.,app / innehåll / MacOS/.
- kör ./ VirtualBox
bygga OSE-paket för distribution
inaktivera aldrig härdning (se föregående avsnitt) när du skapar paket för omfördelning.
härdning behöver ytterligare konfigurations-och efterbyggnadssteg. Standardinstallationskatalogen för VirtualBox är / Applications / VirtualBox.app/. Om du vill ändra det, säg till / Applications/OpenSource / VirtualBox.app/, du måste lägga till följande i LocalConfig.kmk:
det kan också vara meningsfullt att inaktivera några av de utvecklingsbara sakerna, som testfall., Lägg till följande till LocalConfig.kmk:
VBOX_WITH_TESTSUITE=VBOX_WITH_TESTCASES=
Från och med VirtualBox 4.1 skapas extra felsökningssymboler. Du kan förhindra det genom att lägga till följande till LocalConfig.kmk:
kBuildGlobalDefaults_LD_DEBUG=
nästa Rebuild VirtualBox och installera den i/Applications/OpenSource/. Det finns inget stöd för att installera VirtualBox i en målkatalog. Bara kopiera filerna till destinationen. Se nu till att setuid-stubbarna har rätt behörigheter:
ett annat krav på härdning är att varje sökvägskomponent i huvudkatalogen för VirtualBox.,app / ägs av root och inte world writable. Se till att så är fallet.
relativa kontra absoluta sökvägar i de använda biblioteken
om du ser något liknande följande fel när du startar VirtualBox måste du ändra de använda biblioteken för att använda absoluta sökvägar.
på Mac OS X är det inte tillåtet att använda bibliotek med relativa sökvägar för att referera till andra bibliotek när den körbara är setuid. Du kan visa alla länkade bibliotek med följande kommando:
otool -L /Applications/VirtualBox.app/Contents/MacOS/VirtualBox.dylib
nästa, förutsatt att Qt är installerat i /Applications/VirtualBox.,app / Contents / Frameworks/, du kan ändra sökvägen med hjälp av detta:
det första kommandot ändrar identifieraren för biblioteket själv. Den andra ändrar referenser till andra bibliotek. Där är den första sökvägen den gamla refererade sökvägen, den andra är den nya sökvägen och den sista sökvägen är filen som ska ändras (Se man install_name_tool). OBS, Du måste upprepa detta med varje bibliotek inblandade (åtminstone VirtualBox.dylib, QtCore, QtGui, QtNetwork, QtOpenGl).