Falta / usr / include no OS X El Capitan

17

Eu estava tentando criar um aplicativo que depende de PJSIP lib, que deve ter alguns cabeçalhos em /usr/include . Mas não há uma pasta /usr/include e não posso criar uma, mesmo que minha conta tenha direitos de administrador.

Como pode ser a pasta include , ativada / criada / restaurada?

    
por tesla 03.11.2015 / 11:00

2 respostas

15

Atualização (12 de fevereiro de 2016):

Eu finalmente instalei o El Capitan e agora posso confirmar que a resposta de Ondřej Čertík está correta. Eu recomendo strongmente instalar as ferramentas de desenvolvedor de linha de comando em vez de desabilitar o SIP.

Como observou o Ondřej, simplesmente instalar o Xcode não instalará todas as ferramentas de desenvolvedor de linha de comando. Você deve executar xcode-select --install no Terminal.

postagem original (5 de dezembro de 2015):

O acesso de gravação a / System, / bin, / sbin, / usr, / etc, / tmp e / var foi desativado por padrão no El Capitan, mesmo para o root. Isso se deve ao novo recurso Protection Integrity Protection .

Para desativar o SIP , inicie no modo de recuperação e execute o comando csrutil disable no Terminal.

Disclaimer: Eu não testei isso sozinho desde que eu ainda não atualizei para El Capitan.

    
por 05.12.2015 / 04:15
14

Por padrão, quando você instala o Xcode ("ferramentas de desenvolvedor") da App Store no El Capitan, ele não instala as "ferramentas de desenvolvedor de linha de comando", que incluem o /usr/include . Para instalar as "ferramentas de desenvolvedor de linha de comando", execute xcode-select --install , ele perguntará se você deseja obter ferramentas de linha de comando Xcode + na App Store (mas eu já tenho Xcode instalado na App Store e aparentemente não incluir os utilitários de linha de comando), então selecionei "install" e instalei /usr/include entre outras coisas.

Quanto ao System Integrity Protection (SIP), deixe-o ativado, pois isso parece ser uma coisa boa. O motivo xcode-select --install conseguiu instalar no diretório /usr protegido é provavelmente porque xcode-select está na lista de permissões do SIP.

    
por 17.12.2015 / 19:26