今天装了一个lib(./configure, make, make install),编译程序时,提示链接错误,找不到对应的.so文件,然后就在/etc/ld.so.conf.d下面增加了一个文件,内容为: /usr/local/lib,因为刚刚在自己的虚拟机上做过此过程,想都没想就执行了ldconfig,话说这些操作在开发过程中都很正常。
但是奇葩的事出现了,之后执行任何shell命令(确切的应该为绝大部分),都提示:
Segment Fault ...
猜测原因:估计ldconfig后,shell命令都链接到/usr/local/lib下有某些其它版本的.so文件,比如多数的shell命令都使用glibc开发的,如果链接到不同的so上面就可能导致此问题的发生。
解决:最后采用粗暴的方式,重装(汗)!!!
发布此篇文章,旨在给自己提个醒,装lib最好指定--prefix,这样在遇到上述问题时,添加so.conf文件内容后,执行ldconfig不至于链接到不期望的so上面。