আমি ওএস এক্স 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)
কীভাবে এটি সমাধান করবেন, জিসিসি সঠিকভাবে কাজ করার জন্য, কেবল "জিসিসি" কল করে? আমি যতদূর জানি, পুরানো ওএস এক্সে জিসিসি_স্লেক্স সরঞ্জাম ছিল তবে আমার সিস্টেমে এটি নেই।