gcc无法找到共享库libisl.so。

9

我在一个安装了CentOS操作系统的集群上本地安装了gcc版本5.1,但是我没有root权限(所以我不能使用任何像"sudo"这样的命令)。 (全局安装的gcc版本为4.4)。我还修改了路径变量,在路径变量的开头包含了指向我的本地版本的路径。之前,当我尝试使用全局版本安装boost时,它可以正常工作。但现在,当我尝试安装boost时,它显示以下错误:

/users/home/head/cmp/soft/sft/gcc/bin/../libexec/gcc/x86_64-unknown-linux-gnu/5.1.0/cc1: error while loading shared libraries: libisl.so.10: cannot open shared object file: No such file or directory

任何想法如何修复这个问题都将不胜感激。

1
@Michi 我正在使用CentOS.. 但是我没有root访问权限,所以我无法使用sudo... - Python_user
@Michi 它显示 ls: 无法访问 /usr/lib/libisl.so: 没有那个文件或目录 - Python_user
如果您尝试使用默认的GCC编译,会发生什么情况? gcc program.c -o program - Michi
@Python_user 请尝试使用此方法重新编译GCC。 - Michi
@iharob 是的,我改变了我的路径变量...而我的原始gcc仍然完好无损...当我从路径变量中删除到我的本地gcc的路径时,我能够像往常一样编译我的c和c++程序...我需要gcc来完成我的一个项目,其中我使用命令选项'--std=c++11'... - Python_user
显示剩余24条评论
2个回答

6
请按照以下方式安装GCC:

请访问https://gcc.gnu.org/wiki/InstallingGCC并按照指示操作。

特别提示:不要在非标准路径下手动安装ISL,因为GCC需要在运行时找到其共享库。

最简单的解决方案是使用download_prerequisites脚本将GMP、MPFR、MPC和ISL源代码添加到GCC源代码树中,这将自动为您构建它们,并静态链接到它们。


我无法在我正在工作的集群节点上使用FTP...因此,./contrib/download_prerequisites无法工作...我该如何解决这个问题? - Python_user
更具体地说,我遇到了以下错误:--2015-11-16 18:49:34-- ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2 (尝试:3) => mpfr-2.4.2.tar.bz2' 连接到 gcc.gnu.org|209.132.180.131|:21 失败:连接超时。 正在重试。 - Python_user
看脚本,它不复杂。找到URL,手动下载包,在GCC源树中解压缩它们并创建脚本将创建的符号链接。 - Jonathan Wakely
使用这个脚本对于新手来说绝对更简单! - Python_user
2
我不知道为什么人们坚持用更难的方式去做,这样做更加困难,而且使用生成的编译器也更加困难! :-) - Jonathan Wakely

3
我遇到了相同的问题,我解决方法如下:
1.下载isl的源代码,可以从这里获取。
2.解压并安装: ./configure && make && make install 3.cp /usr/local/lib/libisl* /usr/lib 注:一个符号链接也可以工作: $ cd /usr/lib $ ln -s /usr/local/lib/libisl.so.10 libisl.so.10
4.在Debian发行版中也可以运行以下命令:
apt-get install libisl-dev
5.调整共享库的引用: $ cp /usr/local/lib/libisl* /usr/lib
注:一个符号链接也可以工作: $ cd /usr/lib $ ln -s /usr/local/lib/libisl.so.10 libisl.so.10

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接