编译安装源码时出现错误的解决方法

linux系统管理 struggling 1726次浏览 0个评论

由于软件更新速度比较快,所以我们经常需要自己动手去编译安装一个软件,但是编译安装时难免不出现错误,像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,未安装所需要的包

出现这个问题的可能性最大,一般未安装时都会提示,只需安装相应的包,然后重新编译都能通过。错误像下面这样:

<code>
configure: error: rst2man is needed to build Varnish, please install python-docutils.
</code>

然后只需安装python-docutils包就行了。

3,未安装devel包

当以rpm安装一个以编译安装需要依赖的包时,必须安装它的devel包,编译安装都要找其依赖软件的开发库和头文件,其被devel包所提供
编译安装postfix时,需要安装sasl-devel包,编译安装httpd时,需要安装openssl-devel。

有的包编译安装完需要将其头文件输出到系统路径下,比如,编译安装mysql-5.5.28时需要输出:

输出mysql的头文件至系统头文件路径/usr/include:

<code>
[root@xiyousta ~]# ln -sv /usr/local/mysql/include  /usr/include/mysql
</code>

输出mysql的库文件给系统库查找路径:

<code>
[root@xiyousta ~]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
</code>

而后让系统重新载入系统库:

<code>
[root@xiyousta ~]# ldconfig
</code>




DevOps-田飞雨 》》转载请注明源地址
喜欢 (0)or分享 (0)
发表我的评论
取消评论
*

表情 贴图 加粗 链接 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址