我正在使用已经安装了 gcc 的 Linux 系统(其中我没有 sudo 访问权限)。
我必须运行一些软件,这些软件需要 cmake、bison 和 flex 之类的东西,我使用 Anaconda 安装了它们。
由于我需要的 cmake 版本还需要较新版本的 gcc(系统上的版本是 gcc 4.8?),所以我也使用 Anaconda 安装了它。
我安装了:gcc_linux-64 和 gxx_linux-64
然而,当我尝试编译我的软件时,我总是收到来自 cmake 的错误:
cmake: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by cmake)
cmake: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by cmake)
cmake: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by cmake)
cmake: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by cmake)
但是,可以看出,尽管我使用 anaconda 安装了新版本的 gcc 和 g++,cmake 仍然会从旧系统安装中获取库。
我尝试再次停用并激活环境,重新启动 bash,但行为是一样的。
我也尝试过:
$ which gcc
/usr/bin/gcc
但当我这样做
$ printenv | grep CXX
CXXFLAGS=-fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe
CXXFILT=/home/myuseraccount/bulk/anaconda3/bin/x86_64-conda_cos6-linux-gnu-c++filt
DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe
CXX=/home/myuseraccount/bulk/anaconda3/bin/x86_64-conda_cos6-linux-gnu-c++
$ printenv | grep GCC
GCC_NM=/home/myuseraccount/bulk/anaconda3/bin/x86_64-conda_cos6-linux-gnu-gcc-nm
GCC_RANLIB=/home/myuseraccount/bulk/anaconda3/bin/x86_64-conda_cos6-linux-gnu-gcc-ranlib
GCC=/home/myuseraccount/bulk/anaconda3/bin/x86_64-conda_cos6-linux-gnu-gcc
GCC_AR=/home/myuseraccount/bulk/anaconda3/bin/x86_64-conda_cos6-linux-gnu-gcc-ar
...哪一个看起来是正确的?
任何帮助都值得感激!