安装R包时libstdc ++的路径

时间:2013-06-07 20:43:20

标签: r gcc libstdc++

所以我一直在尝试安装名为igraph的R包。最后,当它尝试加载包时,我收到以下错误:

/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)

对我来说,这个错误意味着libstdc++.so.6的版本错误。我,但是我没有使用该文件。快速查看我的LD_LIBRARY_PATH:

 echo $LD_LIBRARY_PATH 
/tools/gcc/4.7.0/lib64

在该目录中有一个名为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

我不明白为什么R顽固不使用gcc目录下的文件并继续尝试引用/ user / lib64目录。有没有人有想法?

1 个答案:

答案 0 :(得分:4)

原来在$RHOME/etc/下面有一个名为ldpaths的文件,由于某种原因清除了LD_LIBRARY_PATH环境变量。我将LD_LIBRARY_PATH重置为该文件中的首选路径,重新启动R,并且安装包非常顺利。

在一个侧节点上:我认为这对于这样一个成熟的软件来说是荒谬的行为。