2012-09-04 31 views
31

माउंटेन शेर पर एक मणि स्थापित करने और नहीं पा सके करने की कोशिश की जीसीसी-4.2:ओएस एक्स माउंटेन शेर: जीसीसी-4.2 ऐसी कोई फ़ाइल या निर्देशिका

kamil$ gem install posix-spawn -v '0.3.6' 
Building native extensions. This could take a while... 
ERROR: Error installing posix-spawn: 
    ERROR: Failed to build gem native extension. 

     /Users/kamil/.rbenv/versions/1.9.3-p0/bin/ruby extconf.rb 
creating Makefile 

make 
compiling posix-spawn.c 
make: gcc-4.2: No such file or directory 
make: *** [posix-spawn.o] Error 1 

उत्तर

89

आप Xcode स्थापित किया है, जीसीसी होना चाहिए उपलब्ध। चेक जहां इसके साथ है:

kamil$ sudo ln -s ~/bin/gcc /usr/bin/gcc-4.2 

(सुनिश्चित करें उपयोगकर्ता के भूमि बाँध फ़ोल्डर export PATH=...:$HOME/bin के माध्यम से अपने रास्ते में है:

kamil$ which gcc 
/usr/bin/gcc 

फिर सादे जीसीसी के लिए जीसीसी-4.2 से एक उपयोगकर्ता के भूमि प्रतीकात्मक कड़ी बनाने आपके .bash_profile या .zshrc में।)

मणि बाद में ठीक स्थापित किया गया।

+2

यह मेरे दिमाग पर जोर देता है कि जब आप कमांड लाइन उपकरण स्थापित करते हैं तो यह डिफ़ॉल्ट रूप से सेट नहीं होता है। मैंने इस काम को पाने की कोशिश करने में इतना समय बिताया है और आखिर में आपके जवाब में आया। क्या यह एक रूबी मुद्दा या एक एक्सकोड मुद्दा है जहां ये ऑपरेशन जीसीसी के साथ भी असफल हो जाते हैं? –

+0

यदि आप 'ln -s/usr/bin/gcc /usr/bin/gcc-4.2' चलाने के लिए प्रयास करते हैं तो आपको 'अनुमति अस्वीकृत' त्रुटि मिलती है 1) 'सुडो chmod 755/usr/bin/gcc' चलाएं 2) 'sudo ln -s/usr/bin/gcc /usr/bin/gcc-4.2' – ATSiem

+1

चलाएं समस्या यह है कि जीसीसी संस्करण वास्तव में 4.2 नहीं हो सकता है। यह चारों ओर एक काम के रूप में काम करेगा, लेकिन यह वास्तव में हैकी समाधान की तरह लगता है। यह वास्तव में gpio के सही संस्करण को होमब्रू के साथ स्थापित करना बेहतर होगा क्योंकि @Piioo सुझाव देता है। – caspian311

14

ब्रू के साथ बस सेब-जीसीसी 42 स्थापित करें। यह जीसीसी-4.2 उत्पन्न करता है।

brew install apple-gcc42 

इसलिए हमें सिम्लिंक की आवश्यकता नहीं है, जो सेब अपडेट हटा सकता है।

Homebrew

1

रूप @Artur Bodera आधुनिक OSX उल्लेख आप सिस्टम/bin फ़ोल्डर में सिमलिंक बनाने से इंकार कर दिया जाएगा।

इस बस अपने उपयोगकर्ताओं बिन फ़ोल्डर में सिमलिंक बनाने से बचने के लिए

ln -s ~/bin/gcc /usr/bin/gcc-4.2 

अपने .zshrc या .bash_profile को बिन फ़ोल्डर जोड़ने के लिए मत भूलना - जैसे

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$HOME/bin 
+0

पहला आदेश मुझे एक ऑपरेशन की अनुमति नहीं देता है। और वर्तमान में मेरा .bash_profile है - निर्यात PATH = "/ usr/local/bin: $ पथ"। इसे अपडेट करना सुरक्षित होगा? मैं ओएसएक्स 10.12.4 पर हूं –