magent编译报错error: event.h: No such file or directory
来源:互联网 发布:java 并发 lock详解 编辑:程序博客网 时间:2024/05/21 03:16
magent编译安装整理:
# tar zxvf magent-0.5.tar.gz
# /sbin/ldconfig
# sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile
# make
# cp magent /usr/bin/magent
# /sbin/ldconfig
# sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile
# make
# cp magent /usr/bin/magent
过程中报错及解决办法:
</pre><pre name="code" class="html">[root@Day magent]# cd magent/[root@Day magent]# tar -zxvf magent-0.6.tar.gz [root@Day magent]# /sbin/ldconfig [root@Day magent]# sed -i "s#LIBS=-levent#LIBS=-levent -lm#g" Makefile [root@Day magent]# makegcc -Wall -O2 -g -c -o magent.o magent.cmagent.c:64:19: error: event.h: No such file or directorymagent.c:123: error: field ‘ev’ has incomplete typemagent.c:153: error: field ‘ev’ has incomplete typemagent.c: In function ‘server_free’:magent.c:467: warning: implicit declaration of function ‘event_del’magent.c: In function ‘put_server_into_pool’:magent.c:521: error: invalid application of ‘sizeof’ to incomplete type ‘struct event’ magent.c: In function ‘writev_list’:magent.c:623: error: ‘SSIZE_MAX’ undeclared (first use in this function)magent.c:623: error: (Each undeclared identifier is reported only oncemagent.c:623: error: for each function it appears in.)magent.c: In function ‘out_string’:magent.c:695: error: ‘EV_WRITE’ undeclared (first use in this function)magent.c:698: warning: implicit declaration of function ‘event_set’magent.c:698: error: ‘EV_PERSIST’ undeclared (first use in this function)magent.c:699: warning: implicit declaration of function ‘event_add’magent.c: In function ‘do_transcation’:magent.c:815: error: invalid application of ‘sizeof’ to incomplete type ‘struct event’ magent.c:817: error: ‘EV_PERSIST’ undeclared (first use in this function)magent.c:817: error: ‘EV_WRITE’ undeclared (first use in this function)magent.c: In function ‘start_backup_transcation’:magent.c:901: error: invalid application of ‘sizeof’ to incomplete type ‘struct event’ magent.c:903: error: ‘EV_PERSIST’ undeclared (first use in this function)magent.c:903: error: ‘EV_WRITE’ undeclared (first use in this function)magent.c: In function ‘try_backup_server’:magent.c:993: error: invalid application of ‘sizeof’ to incomplete type ‘struct event’ magent.c:995: error: ‘EV_PERSIST’ undeclared (first use in this function)magent.c:995: error: ‘EV_WRITE’ undeclared (first use in this function)magent.c: In function ‘drive_memcached_server’:magent.c:1013: error: ‘EV_WRITE’ undeclared (first use in this function)magent.c:1059: error: ‘EV_READ’ undeclared (first use in this function)magent.c:1061: error: ‘EV_PERSIST’ undeclared (first use in this function)magent.c: In function ‘process_get_response’:magent.c:1235: error: ‘EV_WRITE’ undeclared (first use in this function)magent.c:1237: error: ‘EV_PERSIST’ undeclared (first use in this function)magent.c: In function ‘process_update_response’:magent.c:1282: error: ‘EV_WRITE’ undeclared (first use in this function)magent.c:1284: error: ‘EV_PERSIST’ undeclared (first use in this function)magent.c: In function ‘drive_backup_server’:magent.c:1304: error: ‘EV_WRITE’ undeclared (first use in this function)magent.c:1342: error: ‘EV_PERSIST’ undeclared (first use in this function)magent.c:1342: error: ‘EV_READ’ undeclared (first use in this function)magent.c: In function ‘drive_client’:magent.c:1617: error: ‘EV_READ’ undeclared (first use in this function)magent.c:1668: error: ‘EV_WRITE’ undeclared (first use in this function)magent.c:1681: error: ‘EV_PERSIST’ undeclared (first use in this function)magent.c: In function ‘server_accept’:magent.c:1733: error: invalid application of ‘sizeof’ to incomplete type ‘struct event’ magent.c:1734: error: ‘EV_READ’ undeclared (first use in this function)magent.c:1734: error: ‘EV_PERSIST’ undeclared (first use in this function)magent.c: In function ‘main’:magent.c:2105: warning: implicit declaration of function ‘event_init’magent.c:2110: error: ‘EV_READ’ undeclared (first use in this function)magent.c:2110: error: ‘EV_PERSIST’ undeclared (first use in this function)magent.c:2120: warning: implicit declaration of function ‘event_loop’make: *** [magent.o] Error 1
分析:起一个error说缺少.h文件,因为我用的libevent是用rpm方式安装的,用 find / -name event.h查找event.h 结果如下:
[root@Day ~]# find / -name event.h/usr/src/kernels/2.6.32-358.el6.x86_64/include/config/acpi/proc/event.h/usr/src/kernels/2.6.32-358.el6.x86_64/include/config/kprobe/event.h
该文件没有被包含在/usr/include或者/usr/local/include的头文件目录中,可能是跟rpm方式安装有关系,故改用编译安装libevent,再试,继续make(第一个event.h问题解决,说明libevent尽量要用编译安装的方式安装,以避免不必要的麻烦和错误。)
[root@Day Packages]# find / -name event.h/usr/local/libevent/include/event2/event.h/usr/local/libevent/event.h/usr/local/include/event2/event.h/usr/local/include/event.h/usr/src/kernels/2.6.32-358.el6.x86_64/include/config/acpi/proc/event.h/usr/src/kernels/2.6.32-358.el6.x86_64/include/config/kprobe/event.h
[root@Day magent]# makegcc -Wall -O2 -g -c -o magent.o magent.cmagent.c: In function ‘writev_list’:magent.c:623: error: ‘SSIZE_MAX’ undeclared (first use in this function)magent.c:623: error: (Each undeclared identifier is reported only oncemagent.c:623: error: for each function it appears in.)make: *** [magent.o] Error 1
解决办法:
vim ./ketama.h #在开头加入#ifndef SSIZE_MAX#define SSIZE_MAX 32767#endif继续make:
[root@Day magent]# makegcc -Wall -O2 -g -c -o magent.o magent.cgcc -Wall -O2 -g -c -o ketama.o ketama.cgcc -Wall -O2 -g -o magent magent.o ketama.o -levent -lm[root@Day magent]# lltotal 332-rw-r--r--. 1 500 502 12821 Sep 16 14:16 ketama.c-rw-r--r--. 1 500 502 393 Sep 16 14:17 ketama.h-rw-r--r--. 1 root root 23520 Sep 16 14:17 ketama.o-rwxr-xr-x. 1 root root 90746 Sep 16 14:17 magent-rw-r--r--. 1 root root 16394 Sep 16 13:34 magent-0.5.tar.gz-rw-r--r--. 1 root root 17257 Sep 16 11:12 magent-0.6.tar.gz-rw-rw-r--. 1 500 502 48845 Sep 27 2008 magent.c-rw-r--r--. 1 root root 102848 Sep 16 14:17 magent.o-rw-rw-r--. 1 500 502 347 Sep 16 13:58 Makefile[root@Day magent]#没有报错,生成了 magent。
在这里,推荐参考:
http://blog.snsgou.com/post-820.html
1 0
- magent编译报错error: event.h: No such file or directory
- magent编译报错error: event.h: No such file or directory
- magent编译报错error: event.h: No such file or directory
- fatal error: event.h: No such file or directory #include <event.h>
- redis 编译报错 CC:not find 和 error: jemalloc/jemalloc.h: No such file or directory
- Redis 2.8.18 安装报错 error: jemalloc/jemalloc.h: No such file or directory
- 报错 src/png_io.c:3:17: error: png.h: No such file or directory
- Redis 2.8.19 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
- Redis 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
- redis-3.0.7 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
- Redis 2.8.18 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
- Redis安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
- Redis 2.8.18 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
- Redis 2.8.18 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
- Redis 2.8.18 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
- Redis安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
- Redis 2.8.18 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
- Redis 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
- Statement 对象
- SSH框架搭建小例
- 6 个下一代 Docker 监测工具-兄弟连IT教育
- autocad application 版本
- java中路径问题的总结
- magent编译报错error: event.h: No such file or directory
- android 屏幕适配
- 轻松自动化---selenium-webdriver(python) (六)
- Xcode快捷键
- Ubuntu下安装Docker,及Docker的一些常用命令操作
- 基于gsoap开发WebService服务返回结构体数组
- CSS中!improtant的使用
- iOS开发 创建自己的UserAgent
- OPEN TSDB - 基于时间的数据库