两台一模一样的机器 一台可以装,一台报错,真tm的奇怪。
报错的位置大致在GNu libtdl这个地方
仔细的分析了下opal/libltdl/config.log和正确的对比后发现,checking for the default library search path这里后面开始出错
除了正常的result: /lib /usr/lib /usr/lib64/mysql /usr/lib64/qt-3.3/lib,等外,还有一堆堆乱码。
搜索了下default library search path,发现和ldconfig这个相关,http://blog.csdn.net/hairetz/article/details/6367212
看了下/etc/ld.so.conf这个文件,发现果然两个机器不同,出错的机器被另一个用户加上了一个目录,里面包含一堆我用不着的lib文件
注释掉后
include ld.so.conf.d/*.conf
#include /usr/local/lib/*.*
在root账户下运行ldconfig,更新缓存
然后编译成功了。
这个故事告诉我们,如果机器不是你一个人用,要注意,一些环境变量是否被别人修改了,特别是这些全局变量,/etc/ld.so.conf,/etc/profile等等
因为一旦修改,每个用户都会涉及。以后也要少改这些变量,防止给别人带来麻烦。