web-dev-qa-db-fra.com

CONDA INSTALL -C ANACONDA GCC_LINUX-64 Non utilisé

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.

5
deltasata

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

6
William D. Irons