Manca / usr / include in OS X El Capitan


19

Stavo cercando di creare un'app che dipende dalla PJSIPlib in cui dovrebbero essere presenti alcune intestazioni /usr/include. Ma non esiste una /usr/includecartella e non riesco a crearne nemmeno un account con diritti di amministratore.

Come può essere includecartella, attivata / creata / ripristinata?

Risposte:


15

Aggiornamento (12 febbraio 2016):

Alla fine ho installato El Capitan e ora posso confermare che la risposta di Ondřej Čertík è corretta. Consiglio vivamente di installare gli strumenti di sviluppo della riga di comando invece di disabilitare SIP.

Come notato da Ondřej, la semplice installazione di Xcode non installa tutti gli strumenti di sviluppo della riga di comando. È necessario eseguire xcode-select --installnel terminale.


Post originale (5 dicembre 2015):

L'accesso in scrittura a / Sistema, / bin, / sbin, / usr, / etc, / tmp e / var è stato disabilitato per impostazione predefinita in El Capitan, anche per root. Ciò è dovuto alla nuova funzionalità di protezione dell'integrità della sicurezza .

Per disabilitare SIP , avviare in modalità di ripristino ed eseguire il comando csrutil disablein Terminale.

Disclaimer: non l'ho testato da solo poiché non ho ancora effettuato l'aggiornamento a El Capitan.


1
Confermato ! Funziona anche a El Capitan
gioco di

1
L'ho già capito e ho dimenticato di rispondere alla mia domanda. Accetterò il tuo perché è corretto.
Tesla,

3
Sul mio sistema, la soluzione corretta era installare semplicemente l' /usr/includeutilizzo xcode-select --installe lasciare SIP abilitato. Vedi la mia risposta qui sotto per maggiori informazioni.
Ondřej Čertík,

14

Per impostazione predefinita, quando installi Xcode ("strumenti per sviluppatori") dall'App Store su El Capitan, non vengono installati gli "strumenti per sviluppatori da riga di comando" che includono il /usr/include. Per installare gli "strumenti di sviluppo della riga di comando", eseguire xcode-select --install, ti chiederà se vuoi ottenere Xcode + strumenti della riga di comando da App Store (ma ho già Xcode installato da App Store e apparentemente non include il comando line utilities), quindi ho selezionato "installa" e quello installato /usr/includetra le altre cose.

Per quanto riguarda System Integrity Protection (SIP), lascialo abilitato, poiché sembra essere una buona cosa. Il motivo che è xcode-select --installriuscito a installare nella /usrdirectory protetta è probabilmente perché xcode-selectè autorizzato dalla SIP.


1
Pensavo che Xcode 8.x includesse gli strumenti da riga di comando, ma dovevo solo farlo su una nuova installazione di MacOS Sierra . Prima ho installato Xcode, poi ho dovuto ancora fare ciò xcode-select --installper ottenere gli strumenti.
leanne,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.