gcc 无法找到共享库 libisl.so

gcc unable to find shared library libisl.so

我在集群上本地安装了 gcc 5.1 版,集群的 OS 为 CentOS,但我没有 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

任何有关如何解决此问题的想法都将不胜感激。

按照 https://gcc.gnu.org/wiki/InstallingGCC

中的说明进行操作

特别是,不要在一些非标准路径中手动安装 ISL,因为 GCC 需要在 运行-时间找到它的共享库。

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

我有同样的问题。我是这样解决的:

  1. 下载isl源码available here

  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 安装 libisl-dev

  5. 调整共享库引用:

    $ cp /usr/local/lib/libisl* /usr/lib

    • 注意:符号链接也有效:

      $ cd /usr/lib

      $ ln -s /usr/local/lib/libisl.so.10 libisl.so.10