J'essayais de créer une application qui dépend de PJSIPlib et qui devrait avoir des en-têtes /usr/include. Mais il n'y a pas de /usr/includedossier et je ne peux pas en créer un même mon compte dispose de droits d'administrateur.
Comment un includedossier peut-il être activé / créé / restauré?
J'ai finalement installé El Capitan et je peux maintenant confirmer que la réponse d'Ondřej Čertík est correcte. Je recommande fortement d'installer les outils de développement en ligne de commande au lieu de désactiver SIP.
Comme l'a noté Ondřej, l'installation simple de Xcode n'installera pas tous les outils de développement en ligne de commande. Vous devez exécuter xcode-select --installdans 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 root. Cela est dû à la nouvelle fonctionnalité de protection de l'intégrité de la sécurité .
Pour désactiver SIP , démarrez en mode de récupération et exécutez la commande csrutil disabledans Terminal.
Avertissement: je n'ai pas testé cela moi-même car je n'ai pas encore mis à niveau vers El Capitan.
Je l'ai déjà compris et j'ai oublié de répondre à ma propre question. J'accepterai le vôtre car il est correct.
tesla
3
Sur mon système, le correctif correct consistait simplement à installer l' /usr/includeutilisation xcode-select --installet à laisser SIP activé. Voir ma réponse ci-dessous pour plus d'informations.
Ondřej Čertík
14
Par défaut, lorsque vous installez Xcode ("outils de développement") depuis 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 en ligne de commande", exécutez xcode-select --install, il vous demandera si vous souhaitez obtenir les outils de ligne de commande Xcode + depuis l'App Store (mais j'ai déjà installé Xcode depuis l'App Store et apparemment il n'inclut pas la commande utilitaires de ligne), j'ai donc sélectionné "installer" et installé /usr/includeentre autres.
En ce qui concerne la protection de l'intégrité du système (SIP), laissez-la activée, car cela semble être une bonne chose. La raison xcode-select --installpour laquelle l'installation dans le /usrrépertoire protégé a réussi est probablement parce qu'elle xcode-selectest mise en liste blanche par SIP.
Je pensais que Xcode 8.x incluait les outils de ligne de commande, mais il fallait juste le faire sur une nouvelle installation de MacOS Sierra . J'ai d'abord installé Xcode, puis j'ai dû faire le xcode-select --installpour obtenir les outils.
/usr/include
utilisationxcode-select --install
et à laisser SIP activé. Voir ma réponse ci-dessous pour plus d'informations.Par défaut, lorsque vous installez Xcode ("outils de développement") depuis 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 en ligne de commande", exécutezxcode-select --install
, il vous demandera si vous souhaitez obtenir les outils de ligne de commande Xcode + depuis l'App Store (mais j'ai déjà installé Xcode depuis l'App Store et apparemment il n'inclut pas la commande utilitaires de ligne), j'ai donc sélectionné "installer" et installé/usr/include
entre autres.En ce qui concerne la protection de l'intégrité du système (SIP), laissez-la activée, car cela semble être une bonne chose. La raison
xcode-select --install
pour laquelle l'installation dans le/usr
répertoire protégé a réussi est probablement parce qu'ellexcode-select
est mise en liste blanche par SIP.la source
xcode-select --install
pour obtenir les outils.