Отсутствует / 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, / etc, / tmp и / var по умолчанию отключен в El Capitan, даже для пользователя root. Это связано с новой функцией защиты целостности безопасности .

Чтобы отключить SIP , загрузитесь в режиме восстановления и выполните команду csrutil disableв Терминале.

Отказ от ответственности: я не проверял это сам, так как я еще не перешел на El Capitan.


1
Подтверждено! Работает и в El Capitan
— каламбур

1
Я уже понял это и забыл ответить на свой вопрос. Я приму вашу, так как это правильно.
— Тесла

3
В моей системе правильным решением было просто установить /usr/includeиспользование xcode-select --installи оставить SIP включенным. Смотрите мой ответ ниже для получения дополнительной информации.
— Ондржей Чертик

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чтобы получить инструменты.
— Линне
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.