2016-03-06 122 views
0

我刚刚将gcc更新到了4.7.2,但是当我安装一个R软件包时,它会报告错误(下面),但它需要的文件实际上在那里。有什么想法,我该怎么办?找不到/usr/lib64/libstdc++.so.6

/opt/centos/devtoolset-1.1/root/usr/libexec/gcc/x86_64-CentOS-linux/4.7.2/ld: cannot find /usr/lib64/libstdc++.so.6 
collect2: error: ld returned 1 exit status 
make: *** [RcppArmadillo.so] Error 1 
ERROR: compilation failed for package 'RcppArmadillo' 

[[email protected] ~]$ ll /usr/lib64/libstdc++.so.6* 
lrwxrwxrwx 1 root root  19 Mar 5 21:49 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.13 
-rw-r--r-- 1 root root 975088 Feb 27 2014 /usr/lib64/libstdc++.so.6.0.13 
-rwxr-xr-x 1 root root 976312 Jan 9 2013 /usr/lib64/libstdc++.so.6.0.8 

回答

1

我怀疑它是失败的原因,但你/usr/lib64/libstdc++.so.6.0.13文件确实应该有755个烫发

忽略,/opt/centos/devtoolset-1.1/root/下你的工具链路径。也许检查一下这个根目录下是否有libstdC++文件。即/opt/centos/devtoolset-1.1/root/usr/lib64/libstdc++.so*

如果它仍然失败,请尝试运行strace -f -o log下的命令,看看它是否显示了它正在查找的实际路径。

+0

Mike。感谢您的回答。我有一个文件/opt/centos/devtoolset-1.1/root/usr/lib/gcc/x86_64-CentOS-linux/4.7.2/32/libstdc++.so。但是我应该怎么处理它呢?它是否有32位和64位之间的冲突? –

+0

嗨迈克,我已经将libstdC++。so.6重新链接到libstdC++。so.6.0.8,并且它可以再次运行!但我仍然不知道什么是问题。 –

相关问题