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 nebo novější ( http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x)
- Vkládání self-postavený rozšíření jádra (kexts) na novějších OS X, mohou vyžadovat změny v systému config, pokud máte s příponou kext signing certifikát a běží 10.14 (High Sierra), nebo dříve.Pro 10.11 (El Capitan) a později boot do recovery a buď umožňující načítání nepodepsaných kexts:
csrutil enable --without kext
nebo zakázat SIP všechno dohromady:
csrutil disable
Pro 10.,15 (Catalina) a později také je potřeba zakázat restart požadavek (také z recovery partition):
spctl kext-consent disable
Pokud používáte 10.10 (Yosemite) je boot-args možnost povolit načítání nepodepsaných kexts. Spusťte následující a restartujte počítač:
sudo nvram boot-args="kext-dev-mode=1"
Stavební VirtualBox
- Změnit do kořenového adresáře zdrojů a spustit configure skriptu:
./configure --disable-hardening
můžete ručně nastavit cílové architektury s –cíl-arch=x86 nebo amd64, pokud některé architektury související problémy vyskytují.,
pokud najde vše, co potřebuje ,vytvoří soubor s názvem!síť.kmk obsahující cesty k různým nástrojům ve vašem systému. Také, bude to vytvořit prostředí, instalační skript s názvem env.sh. Tento krok stačí provést jednou (pokud se něco změní ve vašem vybudovat nástroj setup, možná budete muset opakovat, ale mějte na paměti, že oba výstupní soubory budou přepsány).
- kdykoli chcete vytvořit VirtualBox, musíte otevřít shell a zdroj generovaného skriptu nastavení prostředí env.sh, tj.,
. ./env.sh
- budovat typu
kmk
výchozí nastavení je na verzi sestavení, chcete-li ladění nebo profil stavět přidat BUILD_TYPE=debug nebo BUILD_TYPE=profil jako argument kmk nebo exportovat jako proměnnou prostředí v shellu.
běží VirtualBox
- načíst všechny moduly rozšíření jádra. Ty lze nalézt v out / darwin.x86 / release / dist spolu s malým skriptem (loadall.sh) načíst je. Proveďte a ujistěte se, že se moduly úspěšně načtou.
- Enter out / darwin.x86 / release / dist / VirtualBox.,aplikace / Obsah / MacOS/.
- spustit ./VirtualBox
vytváření OSE balíčků pro distribuci
nikdy nezakazujte kalení (viz předchozí část) při vytváření balíčků pro přerozdělování.
kalení potřebuje nějaké další konfigurace a post-build kroky. Výchozí instalační adresář VirtualBoxu je / Applications / VirtualBox.aplikace/. Pokud to chcete změnit, řekněte do / Applications / OpenSource / VirtualBox.app/, musíte přidat následující do LocalConfig.kmk:
může mít také smysl zakázat některé z vývoje pouze věci, jako jsou testovací případy., Přidejte následující do LocalConfig.kmk:
VBOX_WITH_TESTSUITE=VBOX_WITH_TESTCASES=
počínaje VirtualBoxem 4.1 jsou vytvořeny další ladicí symboly. Můžete tomu zabránit přidáním následujícího do LocalConfig.kmk:
kBuildGlobalDefaults_LD_DEBUG=
Next rebuild VirtualBox a nainstalujte jej do / Applications / OpenSource/. Neexistuje žádná podpora pro instalaci VirtualBox do cílového adresáře. Stačí zkopírovat soubory do cíle. Nyní se ujistěte, že pahýly setuid mají správná oprávnění:
dalším požadavkem kalení je, že každá složka cesty v nadřazeném adresáři VirtualBoxu.,app / je ve vlastnictví root a není world zapisovatelný. Ujistěte se, že tomu tak je.
Relativní vs. absolutní cesty v používaných knihoven
Pokud vidíte něco jako následující chyba při spuštění VirtualBox, budete muset změnit použité knihovny používat absolutní cesty.
v systému Mac OS X není povoleno používat knihovny s relativními cestami pro odkazování na jiné knihovny, když je spustitelný soubor setuid. Všechny propojené knihovny můžete zobrazit následujícím příkazem:
otool -L /Applications/VirtualBox.app/Contents/MacOS/VirtualBox.dylib
Další, za předpokladu, že je Qt nainstalován v / Applications / VirtualBox.,app/Contents/ Frameworks/, můžete změnit cestu pomocí tohoto:
první příkaz změní identifikátor samotné knihovny. Druhá mění odkazy na jiné knihovny. Tam je první cesta stará odkazovaná cesta, druhá je nová cesta a poslední cesta je soubor, který se má změnit (viz man install_name_tool). Všimněte si, že to musíte opakovat s každou zapojenou knihovnou (alespoň VirtualBox.dylib, QtCore, QtGui, QtNetwork, QtOpenGl).