(六)编译安装zabbix3.4.4执行make报致命错误:event.h没有这...
(六)编译安装zabbix3.4.4执行make报致命错误:event.h没有这个文件解决+分析方法 编译安装zabbix3.4.4执行make报致命错误:event.h没有这个文件解决+分析方法如有错误直接指正,多谢!1、编译过程
#./configure --prefix=/usr/local/zabbix-3.4.4/ --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libevent=/usr/local/libevent
执行完成未提示错误,
官方中文安装指南:
https://www.zabbix.com/documentation/3.4/zh/manual/installation/requirements
2、安装背景
(1)操作系统centos7.0软件版本zabbix3.4.4,编译过程提示需要libevent
(2)源代码安装libevent,
#tar -xvzflibevent-2.1.8-stable.tar.gz
#cd libevent-2.1.8/
#./configure –-prefix=/usr/local/libevent
#make &&make install
3、致命错误
执行make&&make install报致命错误,如下图
(扩展内容:
先运行configure脚本生成Makefile编译配置文件然后执行make命令,make会自动读取上一步生成的Makefile编译链接源代码最后执行make install命令,make还是去读取Makefile,提取里面的install参数的定义,复制编译链接好的二进制文件到Makefile定义的位置并更改必须的权限.
)
4、做软连接
把libevent头文件软连接到系统默认目录中,
ln -s /usr/local/libevent/include/event.h/usr/include/
ln –s /usr/local/libevent/include/event2//usr/include/event2
(根据此文进行分析扩展http://blog.csdn.net/z3410218746/article/details/7462020)
5、结束语
小编我浪费1天的时间总结问题所在之处,根据小编我有点C语言的基础分析如下:
第一步:先找到报错的信息点,即是致命错误:event.h:没有那个文件或目录分析上下错误信息源,查找common.h文件路径,并且查看23行,
#find / -namecommon.h
发现在zabbix3.4.4安装目录下面# /tools/zabbix-3.4.3/include/common.h
发现确实是下面致命错误的信息,
第二步:继续查找上一步23行的文件,也就是致命错误的信息
同样查找sysinc.h文件路径,并且查看425行,
# find / -name sysinc.h
同样发现在zabbix3.4.4安装目录下面#/tools/zabbix-3.4.4/include/sysinc.h
第三步:发现425行是c语言的报头信息,此事小编就想是不是执行make安装过程中找不到报头信息所在的位置,于是继续查找event.h路径,
# find / -name event.h
# /usr/local/libevent/include/event.h
#/usr/local/libevent/include/event2/event.h
发现都在libevent目录下,于是就想通了,系统执行make安装找的报头文件都是在/usr/include下面,而致命错误信息提示的event.h报头不在系统默认的路径下
第四步:于是做软连接,就解决问题了,希望此次分析能够帮助到大家。
页:
[1]