Tidak ada / usr / termasuk dalam OS X El Capitan

19

Saya mencoba membuat aplikasi yang tergantung pada PJSIPlib yang seharusnya memiliki beberapa header /usr/include. Tetapi tidak ada /usr/includefolder, dan saya tidak dapat membuatnya bahkan akun saya memiliki hak administrator.

Bagaimana bisa includefolder, diaktifkan / dibuat / dipulihkan?

tesla
sumber

Jawaban:

15

Pembaruan (12 Feb 2016):

Saya akhirnya menginstal El Capitan dan sekarang dapat mengkonfirmasi bahwa jawaban Ondřej Čertík sudah benar. Saya sangat menyarankan menginstal alat pengembang baris perintah daripada menonaktifkan SIP.

Seperti yang dicatat Ondřej, hanya menginstal Xcode tidak akan menginstal semua alat pengembang baris perintah. Anda harus mengeksekusi xcode-select --installdi Terminal.


Pos asli (5 Des 2015):

Akses tulis ke / System, / bin, / sbin, / usr, / etc, / tmp dan / var telah dinonaktifkan secara default di El Capitan, bahkan untuk root. Ini karena fitur Perlindungan Integritas Keamanan yang baru .

Untuk menonaktifkan SIP , boot ke mode pemulihan dan jalankan perintah csrutil disabledi Terminal.

Penafian: Saya belum mengujinya sendiri karena saya belum meningkatkan ke El Capitan.

ilovejersey
sumber
1
Dikonfirmasi! Bekerja di El Capitan juga
pun
1
Saya sudah memikirkannya, dan lupa untuk menjawab pertanyaan saya sendiri. Saya akan menerima Anda karena itu benar.
tesla
3
Di sistem saya, perbaikan yang tepat adalah hanya menginstal /usr/includemenggunakan xcode-select --installdan biarkan SIP diaktifkan. Lihat jawaban saya di bawah untuk info lebih lanjut.
Ondřej Čertík
14

Secara default, ketika Anda menginstal Xcode ("alat pengembang") dari App Store di El Capitan, itu tidak menginstal "alat pengembang baris perintah" yang termasuk /usr/include. Untuk menginstal "alat pengembang baris perintah", jalankan xcode-select --install, itu akan menanyakan apakah Anda ingin mendapatkan alat baris perintah Xcode + dari App Store (tetapi saya sudah menginstal Xcode dari App Store dan tampaknya tidak termasuk perintah utilitas saluran), jadi saya memilih "instal" dan yang diinstal /usr/includeantara lain.

Mengenai Perlindungan Integritas Sistem (SIP), biarkan yang diaktifkan, karena itu tampaknya menjadi hal yang baik. Alasan xcode-select --installdikelola untuk menginstal ke /usrdirektori yang dilindungi mungkin karena masuk xcode-selectdaftar putih oleh SIP.

Ondřej Čertík
sumber
1
Saya pikir Xcode 8.x termasuk alat-alat baris perintah, tetapi hanya perlu melakukan ini pada instalasi baru MacOS Sierra . Saya menginstal Xcode terlebih dahulu, kemudian masih harus melakukan xcode-select --installuntuk mendapatkan alat.
leanne