conda install -c anaconda gcc_linux-64 未被使用
conda install -c anaconda gcc_linux-64 not being used
我想在没有 root 访问权限的服务器上安装更新版本的 gcc。我试过
conda install -c creditx gcc-7
这是行不通的。然后我发现
conda install -c anaconda gcc_linux-64
实际上安装了 gccv7.3。但是安装成功后conda环境还是使用系统gcc at
/usr/bin/gcc
请帮助我,以便我可以使用我刚刚安装的 gcc v7.3。
如此处解释:https://docs.conda.io/projects/conda-build/en/latest/resources/compiler-tools.html
1) 编译器包中的所有可执行文件都是 "prefixed." 而不是 gcc,您使用的编译器的可执行文件名称将类似于 x86_64-conda_cos6-linux-gnu-gcc
2) make 和 CMake 等许多构建工具默认搜索名为 gcc 的编译器,因此我们设置环境变量以将这些工具指向正确的编译器。
所以如果你 运行:
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 这样的环境变量指向要使用的编译器,而像 make 这样的命令知道要使用这些变量:
$ 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
有关环境变量的更多信息,请参阅:https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html
我想在没有 root 访问权限的服务器上安装更新版本的 gcc。我试过
conda install -c creditx gcc-7
这是行不通的。然后我发现
conda install -c anaconda gcc_linux-64
实际上安装了 gccv7.3。但是安装成功后conda环境还是使用系统gcc at
/usr/bin/gcc
请帮助我,以便我可以使用我刚刚安装的 gcc v7.3。
如此处解释:https://docs.conda.io/projects/conda-build/en/latest/resources/compiler-tools.html
1) 编译器包中的所有可执行文件都是 "prefixed." 而不是 gcc,您使用的编译器的可执行文件名称将类似于 x86_64-conda_cos6-linux-gnu-gcc
2) make 和 CMake 等许多构建工具默认搜索名为 gcc 的编译器,因此我们设置环境变量以将这些工具指向正确的编译器。
所以如果你 运行:
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 这样的环境变量指向要使用的编译器,而像 make 这样的命令知道要使用这些变量:
$ 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
有关环境变量的更多信息,请参阅:https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html