Відсутній / usr / включити в OS X El Capitan


19

Я намагався створити додаток, який залежить від PJSIPlib, який повинен мати кілька заголовків /usr/include. Але /usr/includeпапки немає , і я не можу створити її, навіть мій обліковий запис має права адміністратора.

Як можна includeпапку, активувати / створити / відновити?

Відповіді:


15

Оновлення (12 лютого 2016 р.):

Нарешті я встановив El Capitan і тепер можу підтвердити, що відповідь Ондржея Чертика є правильною. Настійно рекомендую встановлювати інструменти для розробників командного рядка, а не вимикати SIP.

Як зауважив Ондржей, просто встановити Xcode не встановить усіх інструментів розробника командного рядка. Ви повинні виконати xcode-select --installв Терміналі.


Оригінальна публікація (5 грудня 2015 р.):

Доступ для запису до / System, / bin, / sbin, / usr, / і т.д., / tmp та / var був відключений за замовчуванням в El Capitan, навіть для root. Це пов’язано з новою функцією захисту цілісності безпеки .

Щоб відключити SIP , завантажтесь у режим відновлення та виконайте команду csrutil disableв терміналі.

Відмова: Я ще не перевіряв цього, оскільки ще не перейшов на El Capitan.


1
Підтверджено! Працює в Ель Капітана теж
каламбур

1
Я вже це зрозумів і забув відповісти на власне запитання. Я прийму вашу як правильно.
тесла

3
У моїй системі правильним виправленням було просто встановити /usr/includeвикористання xcode-select --installта залишити SIP увімкненим. Дивіться мою відповідь нижче для отримання додаткової інформації.
Ondřej Čertík

14

За замовчуванням, коли ви встановлюєте Xcode ("інструменти для розробників") з App Store на El Capitan, він не встановлює "інструменти для розробників командного рядка", до складу яких входить /usr/include. Щоб встановити "інструменти для розробників командного рядка", виконати xcode-select --install, він підкаже вам про те, чи хочете ви отримати інструменти командного рядка Xcode + з App Store (але у мене вже встановлено Xcode з App Store, і це, мабуть, не включає команду лінійні утиліти), тому я вибрав "встановити" і встановити, /usr/includeсеред іншого.

Щодо Захисту цілісності системи (SIP), залиште це ввімкненим, оскільки це здається гарною справою. Причина, яку xcode-select --installвдалося встановити в захищений /usrкаталог, ймовірно, xcode-selectполягає в тому , що SIP містить білий список.


1
Я думав, що Xcode 8.x включає в себе інструменти командного рядка, але просто це потрібно зробити для нової установки MacOS Sierra . Я встановив Xcode спочатку, а потім все-таки треба було зробити, xcode-select --installщоб отримати інструменти.
leanne
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.