Eu estava tentando criar um aplicativo que depende da PJSIPlib, que deveria ter alguns cabeçalhos /usr/include. Mas não há /usr/includepasta e não posso criar uma, mesmo que minha conta tenha direitos de administrador.
Como pode ser includepasta, ativada / criada / restaurada?
Finalmente instalei o El Capitan e agora posso confirmar que a resposta de Ondřej Čertík está correta. Eu recomendo fortemente instalar as ferramentas de desenvolvedor de linha de comando em vez de desativar o SIP.
Como Ondřej observou, a simples instalação do Xcode não instalará todas as ferramentas de desenvolvedor de linha de comando. Você deve executar xcode-select --installno Terminal.
Post 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 raiz. Isso se deve ao novo recurso Security Integrity Protection .
Para desativar o SIP , inicialize no modo de recuperação e execute o comando csrutil disableno Terminal.
Isenção de responsabilidade: Eu não testei isso pessoalmente, pois ainda não atualizei para o El Capitan.
Eu já descobri e esqueci de responder à minha própria pergunta. Aceito o seu, pois está correto.
tesla
3
No meu sistema, a correção correta era apenas instalar o /usr/includeuso xcode-select --installe deixar o SIP ativado. Veja minha resposta abaixo para mais informações.
Ondřej Čertík
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 as ferramentas de linha de comando do Xcode + na App Store (mas eu já tenho o Xcode instalado na App Store e, aparentemente, não inclui o comando utilitários de linha), então selecionei "instalar" e o instalado /usr/includeentre outras coisas.
Quanto à proteção de integridade do sistema (SIP), deixe isso ativado, pois isso parece ser uma coisa boa. O motivo xcode-select --installpara a instalação no /usrdiretório protegido é provavelmente porque xcode-selectestá na lista de permissões do SIP.
Eu pensei que o Xcode 8.x incluísse as ferramentas de linha de comando, mas só precisava fazer isso em uma nova instalação do MacOS Sierra . Instalei o Xcode primeiro, e ainda precisava fazer o mesmo xcode-select --installpara obter as ferramentas.
/usr/include
usoxcode-select --install
e deixar o SIP ativado. Veja minha resposta abaixo para mais informações.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", executexcode-select --install
, ele perguntará se você deseja obter as ferramentas de linha de comando do Xcode + na App Store (mas eu já tenho o Xcode instalado na App Store e, aparentemente, não inclui o comando utilitários de linha), então selecionei "instalar" e o instalado/usr/include
entre outras coisas.Quanto à proteção de integridade do sistema (SIP), deixe isso ativado, pois isso parece ser uma coisa boa. O motivo
xcode-select --install
para a instalação no/usr
diretório protegido é provavelmente porquexcode-select
está na lista de permissões do SIP.fonte
xcode-select --install
para obter as ferramentas.