所以我一直在尝试安装一个名为igraph. 最后,当它尝试加载包时,出现以下错误:
/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /tools/R/2.15.2/lib64/R/library/igraph/libs/igraph.so)
Run Code Online (Sandbox Code Playgroud)
对我来说,这个错误意味着libstdc++.so.6. 但是,我没有使用该文件。快速浏览一下我的 LD_LIBRARY_PATH:
echo $LD_LIBRARY_PATH
/tools/gcc/4.7.0/lib64
Run Code Online (Sandbox Code Playgroud)
在该目录中有一个名为 libstdc++.so.6 的文件,以下显示 GLIBCXX_3.4.15 实际上存在:
strings /tools/gcc/4.7.0/lib64/libstdc++.so.6 | grep GLIB
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.3.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
Run Code Online (Sandbox Code Playgroud)
我不明白为什么 R 很顽固,不使用 gcc 目录下的文件,并不断尝试引用 /user/lib64 目录。有没有人有想法?
原来有一个文件被$RHOME/etc/调用ldpaths,它LD_LIBRARY_PATH出于某种原因清除了环境变量。我将 重置LD_LIBRARY_PATH为该文件中的首选路径,重新启动 R,并且该软件包安装得非常顺利。
在旁节点上:我认为对于这样一个成熟的软件来说这是荒谬的行为。