自己的机器上Ub9.10自带gcc4.4.1版本,
前几天GCC 4.5.0 Release,想尝鲜一下,顺带用我们实验室的工具测试测试看看可能找出来错误。
下载解压之后./configure,报错,需要gmp 4.3.2 以上的版本。到gmp官网下载5.0.1版本下载安装。
安装完毕之后重新./configure,报错,找不到可用的cc编译器。
这个就把我搞糊涂了,查看config.log,发现cc1报错:
/usr/lib/gcc/i486-linux-gnu/4.4.1/cc1: /
error while loading shared libraries: libgmp.so.10: /
cannot open shared object file: No such file or directory
使用 find /usr -name 'libgmp.so.*'找到缺失的文件确实在/usr/local/lib之中,但是cc1找不到,这就奇怪了。
想着可能是gmp新版本跟gcc旧版本不兼容的问题?搜索之后找到了这个链接:
http://forum.osdev.org/viewtopic.php?f=1&p=172532
里面提到了library的路径问题,顺着提示 cat /etc/ld.so.conf ,发现 /usr/loal/lib 已经包含在了路径之中。
又使用 ldd 命令查看cc1:
$ldd /usr/lib/gcc/i486-linux-gnu/4.4/cc1
linux-gate.so.1 => (0x003b6000)
libmpfr.so.1 => /usr/local/lib/libmpfr.so.1 (0x00d2