OS X El Capitan में मिसिंग / usr / शामिल हैं


19

मैं एक ऐप बनाने की कोशिश कर रहा था, जो कि PJSIPलिब पर निर्भर करता है जिसमें कुछ हेडर होने चाहिए /usr/include। लेकिन कोई /usr/includeफ़ोल्डर नहीं है , और मैं एक भी नहीं बना सकता हूं मेरे खाते में भी व्यवस्थापक अधिकार हैं।

कैसे हो सकता है includeफ़ोल्डर, सक्रिय / बनाया / बहाल?

जवाबों:


15

अपडेट (12 फरवरी 2016):

मैंने आखिरकार एल कैपिटैन को स्थापित किया और अब पुष्टि कर सकता हूं कि ओन्डेज़ kertík का उत्तर सही है। मैं SIP को अक्षम करने के बजाय कमांड लाइन डेवलपर टूल स्थापित करने की दृढ़ता से सलाह देता हूं।

जैसा कि Ond willej ने कहा, बस Xcode स्थापित करने से कमांड लाइन डेवलपर टूल के सभी इंस्टाल नहीं होंगे। आपको xcode-select --installटर्मिनल में निष्पादित होना चाहिए ।


मूल पोस्ट (5 दिसंबर 2015):

/ Cap System, / bin, / sbin, / usr, / etc, / tmp और / var में पहुँच को डिफ़ॉल्ट रूप से El Capitan में रूट करके अक्षम कर दिया गया है। यह नए सिक्योरिटी इंटीग्रिटी प्रोटेक्शन फीचर के कारण है।

SIP को अक्षम करने के लिए , पुनर्प्राप्ति मोड में बूट करें और csrutil disableटर्मिनल में कमांड निष्पादित करें ।

डिस्क्लेमर: मैंने स्वयं इसका परीक्षण नहीं किया है क्योंकि मैंने अभी तक एल कैपिटान में अपग्रेड नहीं किया है।


1
की पुष्टि की ! एल कैप्टन में भी काम करता है
यमक

1
मैंने पहले ही इसका पता लगा लिया है, और अपने प्रश्न का उत्तर देना भूल गया हूं। मैं इसे सही मानकर आपकी बात मान लूंगा।
tesla

3
मेरे सिस्टम पर, उचित फिक्स सिर्फ एसआईपी /usr/includeका उपयोग करके स्थापित करना xcode-select --installऔर सक्षम होना था। अधिक जानकारी के लिए नीचे मेरा जवाब देखें।
ओंडेइज řertík

14

डिफ़ॉल्ट रूप से, जब आप El Capitan पर ऐप स्टोर से Xcode ("डेवलपर टूल") इंस्टॉल करते हैं, तो यह "कमांड लाइन डेवलपर टूल" स्थापित नहीं करता है जिसमें शामिल हैं /usr/include। "कमांड लाइन डेवलपर टूल" स्थापित करने के लिए, निष्पादित करें xcode-select --install, यह आपको इस बारे में संकेत देगा कि क्या आप ऐप स्टोर से Xcode + कमांड लाइन टूल प्राप्त करना चाहते हैं (लेकिन मेरे पास पहले से ही ऐप स्टोर से Xcode स्थापित है और इसमें स्पष्ट रूप से कमांड शामिल नहीं है लाइन उपयोगिताओं), इसलिए मैंने "इंस्टॉल" का चयन किया और जो /usr/includeअन्य चीजों के बीच स्थापित किया गया ।

सिस्टम इंटीग्रिटी प्रोटेक्शन (एसआईपी) के अनुसार, उस सक्षम को छोड़ दें, क्योंकि यह एक अच्छी बात है। xcode-select --installसुरक्षित /usrनिर्देशिका में स्थापित करने का कारण संभवतः xcode-selectSIP द्वारा श्वेतसूची में है।


1
मैंने सोचा कि Xcode 8.x में कमांड लाइन टूल्स शामिल हैं, लेकिन मैकओएस सिएरा की एक ताजा स्थापना पर बस ऐसा करने की आवश्यकता है । मैंने पहले Xcode स्थापित किया, फिर भी xcode-select --installउपकरण प्राप्त करने के लिए करना पड़ा ।
दुबला
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.