i686- আপেল-ডারউইন 11-llvm-gcc-4.2 চালানোর চেষ্টা করার সময় ম্যাকপোর্টগুলি জিসিসি ত্রুটি নির্বাচন করে


13

আমি ওএস এক্স 10.7 (সিংহ) এ কাজ করছি। আমি ম্যাকপোর্টগুলি থেকে জিসিসি 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.

এটি জিসিসি বাইনারি / অপ্ট / লোকাল / বিন / জিসিসি তে অনুলিপি করে, যা সঠিকভাবে কাজ করে:

$ /opt/local/bin/gcc -v
(...)
gcc version 4.7.0 (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

এই বাইনারি "আই 686-আপেল-ডারউইন 11-এলএলভিএম-জিসিসি-4.2" আসল অ্যাপলের সরবরাহিত জিসিসি সংস্করণ; আমি জানি না কেন এটি / অপ্ট / লোকাল / বিনে এটি দেখার চেষ্টা করে বা কেন এটি একেবারে চালানোর চেষ্টা করে। আমি যদি সিমিলিংক তৈরি করি তবে এটি কেবল এই বাইনারিটিকে কল করে, যা আমি চাই না:

$ 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)

কীভাবে এটি সমাধান করবেন, জিসিসি সঠিকভাবে কাজ করার জন্য, কেবল "জিসিসি" কল করে? আমি যতদূর জানি, পুরানো ওএস এক্সে জিসিসি_স্লেক্স সরঞ্জাম ছিল তবে আমার সিস্টেমে এটি নেই।

উত্তর:


17

সম্ভবত সম্ভবত এটি gccহ্যাশ হয়েছে।

চালান

$ hash

কোন আদেশগুলি হ্যাশ হয়েছে তা দেখতে। যদি / usr / bin / gcc তালিকায় উপস্থিত হয় তবে চালান

$ hash gcc

rehash gcc। তারপরে আপনার hashচালনা করা gccউচিত / অপ্ট / লোকাল / বিন / জিসিসি দেখতে হবে এবং রানিংয়ের জন্য ম্যাকপোর্টগুলি সংস্করণ চালানো উচিত - অবশ্যই আপনি এটি নির্বাচিত করেছেন তা সরবরাহ করে।

/ B2S

সম্পাদনা: Zsh ব্যবহারকারীদের জন্য, $ rehashসম্পূর্ণরূপে হ্যাশটিকে রিফ্রেশ করতে চালান ।


1
ঠিক আছে, আমি সেই প্রক্রিয়াটির অস্তিত্ব সম্পর্কেও জানতাম না। ধন্যবাদ!
মারিউজ প্লুসিস্কি

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) 

আশা করি স্থায়ী সমাধান না পাওয়া পর্যন্ত এটি সহায়তা করে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.