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 sau mai târziu ( http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x)
  • Încărcare auto-construit extensii de kernel (kexts) pe mai recente OS X ar putea necesita modificări la sistemul config daca nu ai un kext certificat de semnare și se execută 10.14 (High Sierra) sau mai devreme.Pentru 10.11 (El Capitan) și mai târziu de boot pentru partiția de recuperare și nici care să permită încărcarea nesemnate kexts:
    csrutil enable --without kext

    sau dezactiva SIP toate împreună:

    csrutil disable

    10.,15 (Catalina) și mai târziu, de asemenea, trebuie să dezactivați cerința de repornire (de asemenea, din partiția de recuperare):

    spctl kext-consent disable

    Dacă executați 10.10 (Yosemite) există o opțiune boot-args pentru a permite încărcarea kexts nesemnate. Executați următoarea și reporniți:

    sudo nvram boot-args="kext-dev-mode=1"

Construirea VirtualBox

  1. Schimba în directorul rădăcină al surselor și executa scriptul configure:
    ./configure --disable-hardening

    puteți seta manual țintă arhitectura cu-țintă-arc=x86 sau amd64, dacă unele legate de arhitectura apar probleme.,

Dacă găsește tot ce are nevoie, va crea un fișier numit !AutoConfig.KMK care conține căi către diferitele instrumente de pe sistemul dvs .. De asemenea, va crea un script de configurare a mediului numit env.sh. acest pas trebuie făcut o singură dată (dacă se schimbă ceva în configurarea instrumentului de construire, este posibil să fie necesar să îl repetați, dar rețineți că ambele fișiere de ieșire vor fi suprascrise).

  1. ori de câte ori doriți pentru a construi VirtualBox, trebuie să deschideți o consolă și sursa de mediu generate de configurare script env.sh, adică, face
    . ./env.sh
  1. Pentru a construi tip
    kmk

    implicit este De a o elibera construi, ar trebui să vă doriți pentru a face un debug sau profil construi adauga BUILD_TYPE=depanare sau BUILD_TYPE=profil ca argument pentru a kmk sau de export-l ca o variabilă de mediu în coajă.

rularea VirtualBox

  1. încărcați toate modulele de extensie kernel. Acestea pot fi găsite în afară/darwin.x86 / release / dist împreună cu un script mic (loadall.sh) pentru a le încărca. Executați și asigurați-vă că modulele se încarcă cu succes.
  2. Enter out / darwin.x86/eliberare/dist / VirtualBox.,aplicație / conținut / MacOS/.
  3. alerga ./ VirtualBox

construirea pachetelor OSE pentru distribuție

nu dezactivați niciodată întărirea (consultați secțiunea anterioară) atunci când creați pachete pentru redistribuire.

calire are nevoie de unele etape suplimentare de configurare și post-build. Directorul de instalare implicit al VirtualBox este / Applications / VirtualBox.aplicație/. Dacă doriți să schimbați acest lucru, spuneți în /Applications/OpenSource/VirtualBox.app/, trebuie să adăugați următoarele la LocalConfig.kmk:

De asemenea, poate avea sens să dezactivați unele dintre lucrurile de dezvoltare, cum ar fi cazurile de testare., Adăugați următoarele la LocalConfig.kmk:

VBOX_WITH_TESTSUITE=VBOX_WITH_TESTCASES=

începând cu VirtualBox 4.1, sunt create simboluri suplimentare de depanare. Puteți preveni acest lucru adăugând următoarele la LocalConfig.kmk:

kBuildGlobalDefaults_LD_DEBUG=

următor reconstrui VirtualBox și instalați-l în /Applications/OpenSource/. Nu există niciun suport pentru instalarea VirtualBox într-un director țintă. Doar copiați fișierele la destinație. Acum, asigurați-vă că stubs setuid au permisiunile corecte:

o altă cerință de întărire este că fiecare componentă cale a directorului părinte al VirtualBox.,app / este deținută de root și nu world writable. Asigurați-vă că acesta este cazul.

căi Relative vs. absolute în bibliotecile utilizate

Dacă vedeți ceva de genul următoarei erori la pornirea VirtualBox, trebuie să schimbați bibliotecile utilizate pentru a utiliza căi absolute.

pe Mac OS X nu este permisă utilizarea bibliotecilor cu căi relative pentru referențierea la alte biblioteci atunci când executabilul este setuid. Puteți afișa toate bibliotecile conectate prin următoarea comandă:

otool -L /Applications/VirtualBox.app/Contents/MacOS/VirtualBox.dylib

în continuare, presupunând că Qt este instalat în /Applications/VirtualBox.,app / Contents / Frameworks/, puteți schimba calea folosind acest lucru:

prima comandă schimbă identificatorul bibliotecii în sine. Al doilea schimbă referințele la alte biblioteci. Acolo, prima cale este calea veche de referință, a doua este calea nouă, iar ultima cale este fișierul de schimbat (vezi man install_name_tool). Notă, trebuie să repetați acest lucru cu fiecare bibliotecă implicată (cel puțin VirtualBox.dylib, QtCore, QtGui, QtNetwork, QtOpenGl).

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *