rhel5上源码编译ipvsadm-1.25遇到问题

在rhel5上源码编译ipvsadm-1.25遇到问题。
已经做好了/usr/src/linux的软连接,同时也尝试下载kernel的2.6.的源码问题一样。
以下是错误信息,请博士协助解决
[root@rs1-test ipvsadm-1.25]# make
make -C libipvs
make[1]: Entering directory `/usr/local/src/ipvsadm-1.25/libipvs'
gcc -Wall -Wunused -Wstrict-prototypes -g -fPIC -DLIBIPVS_USE_NL -DHAVE_NET_IP_VS_H -c -o libipvs.o libipvs.c
In file included from libipvs.h:13,
from libipvs.c:23:
ip_vs.h:15:29: error: netlink/netlink.h: No such file or directory
ip_vs.h:16:31: error: netlink/genl/genl.h: No such file or directory
ip_vs.h:17:31: error: netlink/genl/ctrl.h: No such file or directory
In file included from libipvs.h:13,
from libipvs.c:23:
ip_vs.h:510: error: array type has incomplete element type
ip_vs.h:511: error: array type has incomplete element type
ip_vs.h:512: error: array type has incomplete element type
ip_vs.h:513: error: array type has incomplete element type
ip_vs.h:514: error: array type has incomplete element type
ip_vs.h:515: error: array type has incomplete element type
libipvs.c: In function ‘ipvs_nl_message’:
libipvs.c:48: warning: implicit declaration of function ‘nlmsg_alloc’
libipvs.c:48: warning: assignment makes pointer from integer without a cast
libipvs.c:52: warning: implicit declaration of function ‘genlmsg_put’
libipvs.c:52: error: ‘NL_AUTO_PID’ undeclared (first use in this function)
libipvs.c:52: error: (Each undeclared identifier is reported only once
libipvs.c:52: error: for each function it appears in.)
libipvs.c:52: error: ‘NL_AUTO_SEQ’ undeclared (first use in this function)
libipvs.c: In function ‘ipvs_nl_noop_cb’:
libipvs.c:60: error: ‘NL_OK’ undeclared (first use in this function)
libipvs.c:61: warning: control reaches end of non-void function
libipvs.c: At top level:
libipvs.c:63: error: expected declaration specifiers or ‘...’ before ‘nl_recvmsg_msg_cb_t’
libipvs.c: In function ‘ipvs_nl_send_message’:
libipvs.c:67: warning: implicit declaration of function ‘nl_handle_alloc’
libipvs.c:67: warning: assignment makes pointer from integer without a cast
libipvs.c:69: warning: implicit declaration of function ‘nlmsg_free’
libipvs.c:73: warning: implicit declaration of function ‘genl_connect’
libipvs.c:76: warning: implicit declaration of function ‘genl_ctrl_resolve’
libipvs.c:82: warning: implicit declaration of function ‘nl_handle_destroy’
libipvs.c:87: warning: implicit declaration of function ‘nl_socket_modify_cb’
libipvs.c:87: error: ‘NL_CB_VALID’ undeclared (first use in this function)
libipvs.c:87: error: ‘NL_CB_CUSTOM’ undeclared (first use in this function)
libipvs.c:87: error: ‘func’ undeclared (first use in this function)
libipvs.c:90: warning: implicit declaration of function ‘nl_send_auto_complete’
libipvs.c:93: warning: implicit declaration of function ‘nl_recvmsgs_default’
libipvs.c: In function ‘ipvs_init’:
libipvs.c:118: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_getinfo_parse_cb’:
libipvs.c:139: warning: implicit declaration of function ‘nlmsg_hdr’
libipvs.c:139: warning: initialization makes pointer from integer without a cast
libipvs.c:142: warning: implicit declaration of function ‘genlmsg_parse’
libipvs.c:149: warning: implicit declaration of function ‘nla_get_u32’
libipvs.c:152: error: ‘NL_OK’ undeclared (first use in this function)
libipvs.c:153: warning: control reaches end of non-void function
libipvs.c: In function ‘ipvs_getinfo’:
libipvs.c:166: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_flush’:
libipvs.c:189: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_nl_fill_service_attr’:
libipvs.c:205: warning: implicit declaration of function ‘nla_nest_start’
libipvs.c:205: warning: assignment makes pointer from integer without a cast
libipvs.c:209: warning: implicit declaration of function ‘NLA_PUT_U16’
libipvs.c:212: warning: implicit declaration of function ‘NLA_PUT_U32’
libipvs.c:215: warning: implicit declaration of function ‘NLA_PUT’
libipvs.c:219: warning: implicit declaration of function ‘NLA_PUT_STRING’
libipvs.c:224: warning: implicit declaration of function ‘nla_nest_end’
libipvs.c:227: warning: label ‘nla_put_failure’ defined but not used
libipvs.c: In function ‘ipvs_add_service’:
libipvs.c:243: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_update_service’:
libipvs.c:264: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_del_service’:
libipvs.c:284: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_zero_service’:
libipvs.c:309: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_nl_fill_dest_attr’:
libipvs.c:322: warning: assignment makes pointer from integer without a cast
libipvs.c:336: warning: label ‘nla_put_failure’ defined but not used
libipvs.c: In function ‘ipvs_add_dest’:
libipvs.c:354: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_update_dest’:
libipvs.c:384: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_del_dest’:
libipvs.c:413: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_set_timeout’:
libipvs.c:440: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c:442: warning: label ‘nla_put_failure’ defined but not used
libipvs.c: In function ‘ipvs_start_daemon’:
libipvs.c:461: warning: assignment makes pointer from integer without a cast
libipvs.c:471: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_stop_daemon’:
libipvs.c:492: warning: assignment makes pointer from integer without a cast
libipvs.c:502: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: At top level:
libipvs.c:514: warning: ‘struct nlattr’ declared inside parameter list
libipvs.c:514: warning: its scope is only this definition or declaration, which is probably not what you want
libipvs.c: In function ‘ipvs_parse_stats’:
libipvs.c:518: warning: implicit declaration of function ‘nla_parse_nested’
libipvs.c:536: warning: implicit declaration of function ‘nla_get_u64’
libipvs.c: In function ‘ipvs_services_parse_cb’:
libipvs.c:550: warning: initialization makes pointer from integer without a cast
libipvs.c:580: warning: implicit declaration of function ‘nla_get_u16’
libipvs.c:586: warning: implicit declaration of function ‘nla_data’
libipvs.c:587: warning: passing argument 2 of ‘memcpy’ makes pointer from integer without a cast
libipvs.c:592: warning: implicit declaration of function ‘nla_get_string’
libipvs.c:593: warning: passing argument 2 of ‘strncpy’ makes pointer from integer without a cast
libipvs.c:597: warning: implicit declaration of function ‘nla_memcpy’
libipvs.c:601: warning: passing argument 2 of ‘ipvs_parse_stats’ from incompatible pointer type
libipvs.c: In function ‘ipvs_get_services’:
libipvs.c:632: error: ‘NLM_F_DUMP’ undeclared (first use in this function)
libipvs.c:633: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_dests_parse_cb’:
libipvs.c:711: warning: initialization makes pointer from integer without a cast
libipvs.c:742: warning: passing argument 2 of ‘memcpy’ makes pointer from integer without a cast
libipvs.c:754: warning: passing argument 2 of ‘ipvs_parse_stats’ from incompatible pointer type
libipvs.c: In function ‘ipvs_get_dests’:
libipvs.c:792: error: ‘NLM_F_DUMP’ undeclared (first use in this function)
libipvs.c:796: warning: assignment makes pointer from integer without a cast
libipvs.c:812: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_get_service’:
libipvs.c:922: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_timeout_parse_cb’:
libipvs.c:953: warning: initialization makes pointer from integer without a cast
libipvs.c:967: error: ‘NL_OK’ undeclared (first use in this function)
libipvs.c:968: warning: control reaches end of non-void function
libipvs.c: In function ‘ipvs_get_timeout’:
libipvs.c:986: error: too many arguments to function ‘ipvs_nl_send_message’
libipvs.c: In function ‘ipvs_daemon_parse_cb’:
libipvs.c:1004: warning: initialization makes pointer from integer without a cast
libipvs.c:1029: warning: passing argument 2 of ‘strncpy’ makes pointer from integer without a cast
libipvs.c:1032: error: ‘NL_OK’ undeclared (first use in this function)
libipvs.c:1033: warning: control reaches end of non-void function
libipvs.c: In function ‘ipvs_get_daemon’:
libipvs.c:1052: error: ‘NLM_F_DUMP’ undeclared (first use in this function)
libipvs.c:1053: error: too many arguments to function ‘ipvs_nl_send_message’
make[1]: *** [libipvs.o] Error 1
make[1]: Leaving directory `/usr/local/src/ipvsadm-1.25/libipvs'
make: *** [libs] Error 2

Forums:

ln -s /usr/src/kernels/2.6.18-8.e15-i686 /usr/src/linux

加了连接任然没有用呀。出错依旧

Prepare update to 1.25 for when devel will update to kernel 2.6.28.
#for kernel 2.6.28-rc3 or later

参考:http://www.rpmfind.net/linux/RPM/fedora/11/i386/ipvsadm-1.25-3.i586.html

##NOTICE ipvsadm-1.24 for for kernel between 2.6.10 and 2.6.27.4
##NOTICE ipvsadm-1.25 1.26 for kernel 2.6.28-rc3 or later

因为ipvsadm-1.25这个版本只支持2.6.28以上的内核,需要升级系统内核

Holy Toeldo, so glad I clicked on this site first!

最近在优化免费网络电话网站,在网上搜着搜着就到你这来了哦~~不过还是学习了。。。以后还会继续关注你的哦!

randomness