18

Я пытался создать приложение, которое зависит от PJSIP PJSIP, которая должна иметь несколько заголовков в /usr/include . Но папки /usr/include , и я не могу ее создать, даже если моя учетная запись имеет права администратора.

Как можно include папку, активировать / создать / восстановить?

2 ответа2

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.

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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .