Je voulais installer une version mise à jour de GCC sur un serveur où je n'ai pas d'accès root. J'ai essayé conda install -c creditx gcc-7
qui ne fonctionnait pas. Puis j'ai trouvé conda install -c anaconda gcc_linux-64
En fait installe GCCV7.3. Mais après l'installation réussie, l'environnement de condada utilise toujours le système GCC à /usr/bin/gcc
Aidez-moi s'il vous plaît afin que je puisse utiliser le GCC V7.3 que je viens d'installer.
Comme expliqué ici: https://docs.conda.io/projects/conda-build/en/latest/resources/compiler-tools.html
1) Tous les exécutables d'un package de compilateur sont "préfixés". Au lieu de GCC, le nom exécutable du compilateur que vous utilisez sera quelque chose comme x86_64-CONDA_COS6-Linux-GNU-GCC
2) De nombreux outils de construction tels que la tâche de la marque et de la cmake par défaut pour un compilateur nommé simplement GCC, nous définissons donc des variables d'environnement pour signaler ces outils sur le compilateur correct.
Donc, si vous courez:
conda create -n cc_env gcc_linux-64
conda activate cc_env
ls $CONDA_PREFIX/bin
Vous verrez un tas d'outils de compilateur avec le nom préfixé:
c89 x86_64-conda_cos6-linux-gnu-ct-ng.config x86_64-conda_cos6-linux-gnu-gcov-dump x86_64-conda_cos6-linux-gnu-objdump
c99 x86_64-conda_cos6-linux-gnu-dwp x86_64-conda_cos6-linux-gnu-gcov-tool x86_64-conda_cos6-linux-gnu-ranlib
x86_64-conda_cos6-linux-gnu-addr2line x86_64-conda_cos6-linux-gnu-elfedit x86_64-conda_cos6-linux-gnu-gprof x86_64-conda_cos6-linux-gnu-readelf
x86_64-conda_cos6-linux-gnu-ar x86_64-conda_cos6-linux-gnu-gcc x86_64-conda_cos6-linux-gnu-ld x86_64-conda_cos6-linux-gnu-size
x86_64-conda_cos6-linux-gnu-as x86_64-conda_cos6-linux-gnu-gcc-ar x86_64-conda_cos6-linux-gnu-ld.bfd x86_64-conda_cos6-linux-gnu-strings
x86_64-conda_cos6-linux-gnu-cc x86_64-conda_cos6-linux-gnu-gcc-nm x86_64-conda_cos6-linux-gnu-ld.gold x86_64-conda_cos6-linux-gnu-strip
x86_64-conda_cos6-linux-gnu-c++filt x86_64-conda_cos6-linux-gnu-gcc-ranlib x86_64-conda_cos6-linux-gnu-nm
x86_64-conda_cos6-linux-gnu-cpp x86_64-conda_cos6-linux-gnu-gcov x86_64-conda_cos6-linux-gnu-objcopy
Ceci est correct car les variables d'environnement tels que CC et CPP sont pointées vers le compilateur à utiliser et les commandes comme faire savoir à utiliser ces variables:
$ echo $CC
/home/builder/anaconda3/envs/cc_env/bin/x86_64-conda_cos6-linux-gnu-cc
$ echo $CPP
/home/builder/anaconda3/envs/cc_env/bin/x86_64-conda_cos6-linux-gnu-cpp
Pour plus d'informations sur les variables d'environnement font savoir voir: https://www.gnu.org/software/make/manual/html_node/implicite-variables.html