由于软件更新速度比较快,所以我们经常需要自己动手去编译安装一个软件,但是编译安装时难免不出现错误,像LAMP,LNMP在好多平台我都是手动编译的,也出现过不少错误,以下总结编译安装出现错误时的解决方法:
1,编译时路径指定错误,
即执行./configure时,后面的路径有问题,这个错误遇到比较多,比如,编译安装postfix时,需要指定mysql的头文件及库文件,如果是用
rpm包安装的mysql,则头文件和库文件一般位于/usr/include/mysql和/usr/lib/mysql,如果是手动编译mysql,头文件和库文件位于你安装时
指定的目录,我安装在/usr/local/下,所以就这么指定/usr/local/mysql/include和/usr/local/mysql/lib。路径指定错误后,会出现configure:
error: jpeglib.h not found.或者ERROR: libx264 not found:之类的错误。
如果不确定头文件或者库文件所在的位置,可以使用rpm -ql查看。
2,未安装所需要的包
出现这个问题的可能性最大,一般未安装时都会提示,只需安装相应的包,然后重新编译都能通过。错误像下面这样:
configure: error: rst2man is needed to build Varnish, please install python-docutils.
然后只需安装python-docutils包就行了。
3,未安装devel包
当以rpm安装一个以编译安装需要依赖的包时,必须安装它的devel包,编译安装都要找其依赖软件的开发库和头文件,其被devel包所提供
编译安装postfix时,需要安装sasl-devel包,编译安装httpd时,需要安装openssl-devel。
有的包编译安装完需要将其头文件输出到系统路径下,比如,编译安装mysql-5.5.28时需要输出:
输出mysql的头文件至系统头文件路径/usr/include:
[root@xiyousta ~]# ln -sv /usr/local/mysql/include /usr/include/mysql
输出mysql的库文件给系统库查找路径:
[root@xiyousta ~]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
而后让系统重新载入系统库:
[root@xiyousta ~]# ldconfig
DevOps-田飞雨 》》转载请注明源地址
喜欢 (0)or分享 (0)