Отсутствует /usr/ включить в OS X El Capitan

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

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

2 ответа

Решение

Обновление (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.

По умолчанию, когда вы устанавливаете 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.

Другие вопросы по тегам