Je travaille sur OS X 10.7 (Lion). J'ai installé gcc 4.7 depuis macports:
sudo port install gcc47
Il semble fonctionner correctement:
$ /opt/local/bin/gcc-mp-4.7 -v
(...)
gcc version 4.7.0 (GCC)
Maintenant, j'essaie de changer le compilateur par défaut en utilisant la sélection de port:
$ sudo port select gcc mp-gcc47
Selecting 'mp-gcc47' for 'gcc' succeeded. 'mp-gcc47' is now active.
Il copie le fichier binaire gcc dans / opt / local / bin / gcc, ce qui fonctionne correctement:
$ /opt/local/bin/gcc -v
(...)
gcc version 4.7.0 (GCC)
Il modifie également gcc par défaut:
$ which gcc
/opt/local/bin/gcc
Mais exécuter celui par défaut ne fonctionne pas:
$ 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
Ce binaire "i686-apple-darwin11-llvm-gcc-4.2" est la version gcc fournie par Apple d'origine; Je ne sais pas pourquoi il essaie de le regarder dans / opt / local / bin, ni même pourquoi il essaie de l'exécuter. Si je crée un lien symbolique, il appelle simplement ce binaire, ce qui n'est pas ce que je veux:
$ 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)
Comment le résoudre, pour faire fonctionner correctement gcc, en appelant simplement "gcc"? Autant que je sache, il y avait l'outil gcc_select dans les anciens OS X, mais mon système ne l'a pas.