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 ou mais tarde ( http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x)
- a carregar extensões auto-construídas do núcleo (kexts) no sistema mais recente, poderá necessitar de alterações na configuração do sistema, a menos que tenha um certificado de assinatura do kext e esteja a correr 10.14 (High Sierra) ou mais cedo.Para 10.11 (El Capitan) e mais tarde inicializar na partição de recuperação e activar o carregamento de kexts sem sinal:
csrutil enable --without kext
ou desactivar SIP todos juntos:
csrutil disable
para 10.,15 (Catalina) e, mais tarde, você também precisa desabilitar o requisito de reinicialização (também a partir da partição de recuperação):
spctl kext-consent disable
Se você estiver executando o 10.10 (Yosemite) há um boot-args opção para permitir o carregamento de não assinados kexts. Execute o seguinte e reinicie:
sudo nvram boot-args="kext-dev-mode=1"
Edifício VirtualBox
- Altere para o diretório raiz dos fontes e executar o script de configuração:
./configure --disable-hardening
Você pode definir manualmente a arquitetura alvo com a opção –target-arch=x86 ou amd64, se alguns arquitetura ocorrem problemas relacionados.,
Se encontrar tudo o que necessita, irá criar um ficheiro chamado !automatica.kmk contém caminhos para as várias ferramentas do seu sistema. Além disso, ele irá criar um script de configuração de ambiente chamado env.sh. este passo só tem de ser feito uma vez (se alguma coisa mudar na configuração da sua ferramenta de compilação, poderá ter de repeti-lo, mas tenha em mente que ambos os ficheiros de saída serão substituídos).
- sempre que quiser compilar o VirtualBox, terá de abrir uma linha de comandos e indicar o programa de configuração do ambiente gerado env.sh = = ligações externas = = , fazer
. ./env.sh
- Para criar o tipo de
kmk
O padrão é uma versão de compilação, se você deseja fazer uma depuração ou de criação do perfil adicionar BUILD_TYPE=debug ou BUILD_TYPE=perfil como argumento para kmk ou exportá-lo como uma variável de ambiente no seu shell.
executando VirtualBox
- carregar todos os módulos de extensão do kernel. Estes podem ser encontrados em out/darwin.x86 / release/dist juntamente com um pequeno script (loadall.sh) para carregá-los. Execute e certifique-se que os módulos carregam com sucesso.
- Enter out / darwin.x86/release/dist / VirtualBox.,app / Contents / MacOS/.corre ./VirtualBox
construir pacotes OSE para distribuição
nunca desactivar o endurecimento (ver secção anterior) ao criar pacotes para redistribuição.
O endurecimento necessita de algumas configurações adicionais e passos pós-construção. A pasta de instalação predefinida do VirtualBox é a / Applications / VirtualBox.aplicacao/. Se quiser alterar isso, diga em /Applications/OpenSource/VirtualBox.app/, você precisa adicionar o seguinte ao LocalConfig.kmk:
também pode fazer sentido desativar algumas das coisas apenas de desenvolvimento, como os casos de teste., Adicione o seguinte ao LocalConfig.kmk:
VBOX_WITH_TESTSUITE=VBOX_WITH_TESTCASES=
começando com VirtualBox 4.1, são criados símbolos de depuração extra. Você pode evitar isso adicionando o seguinte ao LocalConfig.kmk:
kBuildGlobalDefaults_LD_DEBUG=
Next rebuild VirtualBox and install it into /Applications/OpenSource/. Não existe nenhum suporte para instalar o VirtualBox numa pasta de destino. Copia os ficheiros para o destino. Agora certifique-se que os pubs setuid têm as permissões correctas:
outro requisito de endurecimento é que cada componente de localização da pasta-mãe do VirtualBox.,app / é de propriedade do root e não World writable. Certifica-te que é este o caso.
localizações relativas vs. absolutas nas bibliotecas usadas
Se vir algo como o seguinte erro ao iniciar a VirtualBox, terá de alterar as bibliotecas usadas para usar caminhos absolutos.
no Mac OS X não é permitido usar bibliotecas com caminhos relativos para referenciar a outras bibliotecas quando o executável é setuid. Poderá mostrar todas as bibliotecas ligadas pelo seguinte comando:
otool -L /Applications/VirtualBox.app/Contents/MacOS/VirtualBox.dylib
seguinte, assumindo que o Qt está instalado em /Applications/VirtualBox.,app/Contents/ Frameworks/, você pode alterar o caminho usando isto:
o primeiro comando altera o identificador da biblioteca em si. A segunda muda referências a outras bibliotecas. Ali, o primeiro caminho é o antigo caminho referenciado, o segundo é o novo caminho e o último caminho é o arquivo a mudar (veja Man install_ name_tool). Nota, você precisa repetir isso com todas as bibliotecas envolvidas (pelo menos VirtualBox.dylib, QtCore, QtGui, QtNetwork, QtOpenGl).