Re-changer de compilateur clang->gcc

angelbj

Membre confirmé
15 Février 2011
10
0
Toulouse
Bonjour,

J'ai récemment modifié mon compilateur par défaut par "clang" (accidentellement en faisant des recherches pour executer du code parallèle avec openmp) et je souhaite re-introduire gcc comme compilateur, j'ai alors tenté de le re-installer par homebrew mais quand je tape juste "gcc" dans le terminal, je reçois ça sur la sortie standard : "
clang: error: no input files". A priori clang est toujours par défaut. Si quelqu'un a une solution je suis preneur :)
 
Homebrew t'a installé GCC dans un autre dossier (je suppose dans /usr/local/bin ?). Il faut jouer sur les variables d'environnement pour que ce GCC-là soit pris comme compilateur par défaut dans les shells.

Par ailleurs, il me semble que Apple n'utilise plus GCC. En tout cas, une installation par défaut des outils de développement en mode texte (CLI) ne propose que clang avec un petit habillage GCC par-dessus.
 
Quand je fait gcc -v, ça m'indique le gcc installé par Xcode il me semble (version 4.2.1) hors j'ai installé la version 5.2 avec brew (je suis pas sur de l'emplacement ...).

Sinon j'ai trouvé ça en surfant (ne pas prendre en compte le numéro de version) :
export LD_LIBRARY_PATH=~/gcc-4.5.0/lib64
export PATH=~/gcc-4.5.0/bin:$PATH

Je sais pas si je devrais essayer, vu que je ne suis pas encore assez familier avec ce genre de manipulation plus ou moins lié au système mac os.




EDIT:
Je viens de regarder dans /usr/local/bin et il y a bien un gcc mais nommé gcc-5, et c'est bien celui installé par homebrew :

Using built-in specs.

COLLECT_GCC=gcc-5

COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/5.2.0/libexec/gcc/x86_64-apple-darwin15.0.0/5.2.0/lto-wrapper

Target: x86_64-apple-darwin15.0.0

Configured with: ../configure --build=x86_64-apple-darwin15.0.0 --prefix=/usr/local/Cellar/gcc/5.2.0 --libdir=/usr/local/Cellar/gcc/5.2.0/lib/gcc/5 --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-5 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-isl=/usr/local/opt/isl --with-system-zlib --enable-libstdcxx-time=yes --enable-stage1-checking --enable-checking=release --enable-lto --with-build-config=bootstrap-debug --disable-werror --with-pkgversion='Homebrew gcc 5.2.0' --with-bugurl=https://github.com/Homebrew/homebrew/issues --enable-plugin --disable-nls --enable-multilib --with-native-system-header-dir=/usr/include --with-sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk

Thread model: posix

gcc version 5.2.0 (Homebrew gcc 5.2.0)
 
Dernière édition:
Donc en tapant gcc-5 c'est le compilateur voulu qui vient.

Si tes scripts utilisent gcc un peu partout, sans l'avoir variabilisé, tu peux en créer un lien symbolique nommé gcc dans /usr/local/bin.

Mais pour l'utiliser il te faudra soit spécifier son chemin in extenso soit faire en sorte que dans la variabled'environnement PATH, /usr/local/bin soit avant /usr/bin.
 
Merci bompi, j'ai créée un lien symbolique dans /usr/local/bin et ça m'a l'air de bien fonctionner.
Par contre juste à titre informatif je me demande comment ordonnancer les chemins (/usr/local/bin et /usr/bin) dans la variable d'environnement (j'ai juste trouvé comment insérer dedans).
 
Il faut modifier la variable PATH.
Tu fais ça dans un des fichiers utilisés
pour initialiser les shells : "~/.bashrc", "~/.bash_profile"
Soit tu le fait brutalement en lui donnant les chemins par défaut dans l'ordre qui te convient soit subtilement en modifiant l'ordre de ses chemins.
Je te conseille de modifier les fichiers d'initialisation de ton compte plutôt que les fichiers généraux.