J'essayais de construire une application qui dépend de PJSIP
lib qui devrait avoir des en-têtes dans /usr/include
. Mais il n'y a pas de dossier /usr/include
et je ne peux pas en créer un même mon compte a des droits d'administrateur.
Comment le dossier include
peut-il être activé/créé/restauré?
Mise à jour (12 février 2016):
J'ai finalement installé El Capitan et peux maintenant confirmer que la réponse d'Ondřej Čertík est correcte. Je recommande fortement d'installer les outils de développement de ligne de commande au lieu de désactiver SIP.
Comme Ondřej l’a noté, le simple fait d’installer Xcode n’installe pas tous les outils de développement en ligne de commande. Vous devez exécuter xcode-select --install
dans Terminal.
Message original (5 décembre 2015):
L'accès en écriture à/System,/bin,/sbin,/usr,/etc,/tmp et/var a été désactivé par défaut dans El Capitan, même pour les utilisateurs root. Cela est dû à la nouvelle fonctionnalité Security Integrity Protection .
Pour désactiver SIP , démarrez en mode de récupération et exécutez la commande csrutil disable
dans Terminal.
Disclaimer: Je n'ai pas testé cela moi-même puisque je ne suis pas encore passé à El Capitan.
Par défaut, lorsque vous installez Xcode ("outils de développement") à partir de l'App Store sur El Capitan, il n'installe pas les "outils de développement en ligne de commande" qui incluent le /usr/include
. Pour installer les "outils de développement de ligne de commande", exécutez xcode-select --install
. Il vous demandera si vous souhaitez obtenir les outils de ligne de commande Xcode + sur l'App Store (mais Xcode est déjà installé sur l'App Store et ne contient apparemment pas utilitaires de ligne de commande), j’ai donc choisi "installer" et le /usr/include
installé entre autres choses.
Pour ce qui est de la protection de l'intégrité du système (SIP), laissez cela activé, car cela semble être une bonne chose. La raison pour laquelle xcode-select --install
a réussi à installer dans le répertoire protégé /usr
est probablement due au fait que xcode-select
est inscrit sur la liste blanche par SIP.