web-dev-qa-db-ja.com

conda install -c anaconda gcc_linux-64は使用されていません

ルートアクセス権がないサーバーにgccの更新バージョンをインストールしたいと思いました。機能していないconda install -c creditx gcc-7を試しました。次に、conda install -c anaconda gcc_linux-64が実際にgccv7.3をインストールすることを発見しました。しかし、インストールが成功した後でも、conda環境は/usr/bin/gccでシステムgccを使用します

インストールしたgcc v7.3を使用できるように、私を助けてください。

3
deltasata

ここで説明したように: https://docs.conda.io/projects/conda-build/en/latest/resources/compiler-tools.html

1)コンパイラパッケージ内のすべての実行可能ファイルには「プレフィックス」が付いています。 gccの代わりに、使用するコンパイラの実行可能ファイル名はx86_64-conda_cos6-linux-gnu-gccのようになります。

2)単にgccという名前のコンパイラーに対して、デフォルトでmakeやCMakeなどの多くのビルドツールが検索するため、これらのツールが正しいコンパイラーを指すように環境変数を設定します。

したがって、実行すると:

conda create -n cc_env gcc_linux-64
conda activate cc_env
ls $CONDA_PREFIX/bin

接頭辞付きの名前が付いた一連のコンパイラツールが表示されます。

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

CCやCPPのような環境変数は使用するコンパイラーを指しているので、これは問題ありません。

$ 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

Makeが認識する環境変数の詳細については、以下を参照してください。 https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html

6