macports i686-apple-darwin11-llvm-gcc-4.2 को निष्पादित करने की कोशिश कर त्रुटि का चयन करें


13

मैं ओएस एक्स 10.7 (लायन) पर काम कर रहा हूं। मैंने macports से gcc 4.7 स्थापित किया है:

sudo port install gcc47

यह ठीक से काम करने लगता है:

$ /opt/local/bin/gcc-mp-4.7 -v
(...)
gcc version 4.7.0 (GCC) 

अब, मैं पोर्ट सेलेक्ट का उपयोग करके डिफ़ॉल्ट कंपाइलर को बदलने की कोशिश कर रहा हूँ:

$ sudo port select gcc mp-gcc47
Selecting 'mp-gcc47' for 'gcc' succeeded. 'mp-gcc47' is now active.

यह gcc बाइनरी को / ऑप्ट / लोकल / बिन / gcc पर कॉपी करता है, जो ठीक से काम करता है:

$ /opt/local/bin/gcc -v
(...)
gcc version 4.7.0 (GCC) 

यह डिफ़ॉल्ट gcc भी बदलता है:

$ which gcc
/opt/local/bin/gcc

लेकिन इस डिफ़ॉल्ट को चलाने से काम नहीं होता है:

$ gcc -v
gcc-mp-4.7: error trying to exec '/opt/local/bin/i686-apple-darwin11-llvm-gcc-4.2': execvp: No such file or directory

यह बाइनरी "i686-apple-darwin11-llvm-gcc-4.2" मूल Apple का प्रदान किया गया gcc संस्करण है; मुझे नहीं पता कि यह इस पर / ऑप्ट / स्थानीय / बिन में देखने की कोशिश क्यों करता है, या यहां तक ​​कि यह इसे चलाने की कोशिश क्यों करता है। यदि मैं सिमलिंक बनाता हूं, तो यह बस इस बाइनरी को कॉल करता है, जो कि मैं नहीं चाहता:

$ sudo ln -s /usr/bin/i686-apple-darwin11-llvm-gcc-4.2 /opt/local/bin
$ gcc -v
(...)
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)

इसे कैसे हल करें, जीसीसी को ठीक से काम करने के लिए, केवल "जीसीसी" कहकर? जहाँ तक मुझे पता है, पुराने OS X में gcc_select टूल था, लेकिन मेरे सिस्टम में यह नहीं है।

जवाबों:


17

सबसे अधिक संभावना है क्योंकि बैश gccहैशेड है।

Daud

$ hash

यह देखने के लिए कि कौन से कमांड हैशेड हैं। यदि / usr / bin / gcc सूची में दिखाई देता है, तो चलाएँ

$ hash gcc

रिहा करने के लिए gcc। बाद में यदि आप दौड़ते हैं तो आपको ऑप्ट / लोकल / बिन / जीसीसी देखना चाहिए hash, और रनिंग gccको मैकपोर्ट संस्करण को चलाना चाहिए - यह सुनिश्चित करना कि आपने इसे चुना है।

/ B2S

संपादित करें: zsh उपयोगकर्ताओं के लिए, $ rehashहैश को संपूर्णता में ताज़ा करने के लिए चलाएँ ।


1
खैर, मुझे उस तंत्र के अस्तित्व के बारे में भी नहीं पता था। धन्यवाद!
१२:५२ पर notsurewhattodo

0

मेरे पास एक ही मुद्दा है, और यह सही समाधान नहीं है - मुझे उम्मीद है कि कोई एक के साथ झंकार करेगा। कुछ समय के लिए, इसे सीधे कॉल करें:

$ gcc-mp-4.7 -v
Using built-in specs.
COLLECT_GCC=gcc-mp-4.7
COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin11/4.7.0/lto-wrapper
Target: x86_64-apple-darwin11
    Configured with: ../gcc-4.7.0/configure --prefix=/opt/local --build=x86_64-apple-darwin11 --enable-languages=c,c++,objc,obj-c++,lto,fortran,java --libdir=/opt/local/lib/gcc47 --includedir=/opt/local/include/gcc47 --infodir=/opt/local/share/info --mandir=/opt/local/share/man --datarootdir=/opt/local/share/gcc-4.7 --with-libiconv-prefix=/opt/local --with-local-prefix=/opt/local --with-system-zlib --disable-nls --program-suffix=-mp-4.7 --with-gxx-include-dir=/opt/local/include/gcc47/c++/ --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --with-ppl=/opt/local --with-cloog=/opt/local --enable-cloog-backend=isl --enable-stage1-checking --disable-multilib --enable-lto --with-as=/opt/local/bin/as --with-ld=/opt/local/bin/ld --with-ar=/opt/local/bin/ar --with-bugurl=https://trac.macports.org/newticket --with-pkgversion='MacPorts gcc47 4.7.0_3'
Thread model: posix
gcc version 4.7.0 (MacPorts gcc47 4.7.0_3) 

आशा है कि स्थायी समाधान मिलने तक मदद करता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.