编译ipvsadm时出错

#make
make -C libipvs
make[1]: Entering directory `/usr/local/src/ipvsadm-1.24/libipvs'
gcc -Wall -Wunused -Wstrict-prototypes -g -O2 -I/usr/src/linux/include -DHAVE_NET_IP_VS_H -c -o libipvs.o libipvs.c
在包含自 libipvs.c:23 的文件中:
libipvs.h:14:23: 错误:net/ip_vs.h:没有那个文件或目录
In file included from libipvs.c:23:
libipvs.h:119: 错误:expected ‘)’ before ‘fwmark’
libipvs.c:27: 错误:字段 ‘svc’ 的类型不完全
libipvs.c:28: 错误:字段 ‘dest’ 的类型不完全
libipvs.c: 在函数 ‘ipvs_init’ 中:
libipvs.c:40: 错误:‘sizeof’ 不能用于不完全的类型 ‘struct ip_vs_getinfo’
libipvs.c:44: 错误:‘IP_VS_SO_GET_INFO’ 未声明 (在此函数内第一次使用)
libipvs.c:44: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
libipvs.c:44: 错误:所在的函数内只报告一次。)
libipvs.c: 在函数 ‘ipvs_getinfo’ 中:
libipvs.c:56: 错误:‘sizeof’ 不能用于不完全的类型 ‘struct ip_vs_getinfo’
libipvs.c:57: 错误:‘IP_VS_SO_GET_INFO’ 未声明 (在此函数内第一次使用)
libipvs.c: 在函数 ‘ipvs_version’ 中:
libipvs.c:64: 错误:对未定义类型 ‘struct ip_vs_getinfo’ 的使用无效
libipvs.c: 在函数 ‘ipvs_flush’ 中:
libipvs.c:70: 错误:‘IP_VS_SO_SET_FLUSH’ 未声明 (在此函数内第一次使用)
libipvs.c: 在函数 ‘ipvs_add_service’ 中:
libipvs.c:79: 错误:‘IP_VS_SO_SET_ADD’ 未声明 (在此函数内第一次使用)
libipvs.c:79: 错误:提领指向不完全类型的指针
libipvs.c: 在函数 ‘ipvs_update_service’ 中:
libipvs.c:87: 错误:‘IP_VS_SO_SET_EDIT’ 未声明 (在此函数内第一次使用)
libipvs.c:87: 错误:提领指向不完全类型的指针
libipvs.c: 在函数 ‘ipvs_del_service’ 中:
libipvs.c:95: 错误:‘IP_VS_SO_SET_DEL’ 未声明 (在此函数内第一次使用)
libipvs.c:95: 错误:提领指向不完全类型的指针
libipvs.c: 在函数 ‘ipvs_zero_service’ 中:
libipvs.c:103: 错误:‘IP_VS_SO_SET_ZERO’ 未声明 (在此函数内第一次使用)
libipvs.c:103: 错误:提领指向不完全类型的指针
libipvs.c: 在函数 ‘ipvs_add_dest’ 中:
libipvs.c:109: 错误:提领指向不完全类型的指针
libipvs.c:109: 错误:提领指向不完全类型的指针
libipvs.c:112: 错误:‘IP_VS_SO_SET_ADDDEST’ 未声明 (在此函数内第一次使用)
libipvs.c: 在函数 ‘ipvs_update_dest’ 中:
libipvs.c:119: 错误:提领指向不完全类型的指针
libipvs.c:119: 错误:提领指向不完全类型的指针
libipvs.c:122: 错误:‘IP_VS_SO_SET_EDITDEST’ 未声明 (在此函数内第一次使用)
libipvs.c: 在函数 ‘ipvs_del_dest’ 中:
libipvs.c:129: 错误:提领指向不完全类型的指针
libipvs.c:129: 错误:提领指向不完全类型的指针
libipvs.c:132: 错误:‘IP_VS_SO_SET_DELDEST’ 未声明 (在此函数内第一次使用)
libipvs.c: 在函数 ‘ipvs_set_timeout’ 中:
libipvs.c:140: 错误:‘IP_VS_SO_SET_TIMEOUT’ 未声明 (在此函数内第一次使用)
libipvs.c:141: 错误:提领指向不完全类型的指针
libipvs.c: 在函数 ‘ipvs_start_daemon’ 中:
libipvs.c:148: 错误:‘IP_VS_SO_SET_STARTDAEMON’ 未声明 (在此函数内第一次使用)
libipvs.c:149: 错误:提领指向不完全类型的指针
libipvs.c: 在函数 ‘ipvs_stop_daemon’ 中:
libipvs.c:156: 错误:‘IP_VS_SO_SET_STOPDAEMON’ 未声明 (在此函数内第一次使用)
libipvs.c:157: 错误:提领指向不完全类型的指针
libipvs.c: 在函数 ‘ipvs_get_services’ 中:
libipvs.c:166: 错误:提领指向不完全类型的指针
libipvs.c:167: 错误:‘sizeof’ 不能用于不完全的类型 ‘ipvs_service_entry_t’
libipvs.c:167: 错误:对未定义类型 ‘struct ip_vs_getinfo’ 的使用无效
libipvs.c:172: 错误:提领指向不完全类型的指针
libipvs.c:172: 错误:对未定义类型 ‘struct ip_vs_getinfo’ 的使用无效
libipvs.c:174: 错误:‘IP_VS_SO_GET_SERVICES’ 未声明 (在此函数内第一次使用)
libipvs.c: 在函数 ‘ipvs_cmp_services’ 中:
libipvs.c:189: 错误:提领指向不完全类型的指针
libipvs.c:189: 错误:提领指向不完全类型的指针
libipvs.c:193: 错误:提领指向不完全类型的指针
libipvs.c:193: 错误:提领指向不完全类型的指针
libipvs.c:197: 错误:提领指向不完全类型的指针
libipvs.c:197: 错误:提领指向不完全类型的指针
libipvs.c:201: 错误:提领指向不完全类型的指针
libipvs.c:201: 错误:提领指向不完全类型的指针
libipvs.c: 在函数 ‘ipvs_sort_services’ 中:
libipvs.c:208: 错误:提领指向不完全类型的指针
libipvs.c:208: 错误:提领指向不完全类型的指针
libipvs.c:209: 错误:‘sizeof’ 不能用于不完全的类型 ‘ipvs_service_entry_t’
libipvs.c: 在函数 ‘ipvs_get_dests’ 中:
libipvs.c:218: 错误:提领指向不完全类型的指针
libipvs.c:218: 错误:‘sizeof’ 不能用于不完全的类型 ‘ipvs_dest_entry_t’
libipvs.c:218: 错误:提领指向不完全类型的指针
libipvs.c:224: 错误:提领指向不完全类型的指针
libipvs.c:224: 错误:提领指向不完全类型的指针
libipvs.c:225: 错误:提领指向不完全类型的指针
libipvs.c:225: 错误:提领指向不完全类型的指针
libipvs.c:226: 错误:提领指向不完全类型的指针
libipvs.c:226: 错误:提领指向不完全类型的指针
libipvs.c:227: 错误:提领指向不完全类型的指针
libipvs.c:227: 错误:提领指向不完全类型的指针
libipvs.c:228: 错误:提领指向不完全类型的指针
libipvs.c:228: 错误:提领指向不完全类型的指针
libipvs.c:231: 错误:‘IP_VS_SO_GET_DESTS’ 未声明 (在此函数内第一次使用)
libipvs.c: 在函数 ‘ipvs_cmp_dests’ 中:
libipvs.c:243: 错误:提领指向不完全类型的指针
libipvs.c:243: 错误:提领指向不完全类型的指针
libipvs.c:247: 错误:提领指向不完全类型的指针
libipvs.c:247: 错误:提领指向不完全类型的指针
libipvs.c: 在函数 ‘ipvs_sort_dests’ 中:
libipvs.c:253: 错误:提领指向不完全类型的指针
libipvs.c:253: 错误:提领指向不完全类型的指针
libipvs.c:254: 错误:‘sizeof’ 不能用于不完全的类型 ‘ipvs_dest_entry_t’
libipvs.c: 在顶层:
libipvs.c:259: 错误:expected ‘)’ before ‘fwmark’
libipvs.c: 在函数 ‘ipvs_get_timeout’ 中:
libipvs.c:288: 错误:提领指向不完全类型的指针
libipvs.c:293: 错误:‘IP_VS_SO_GET_TIMEOUT’ 未声明 (在此函数内第一次使用)
libipvs.c: 在函数 ‘ipvs_get_daemon’ 中:
libipvs.c:309: 错误:提领指向不完全类型的指针
libipvs.c:315: 错误:‘IP_VS_SO_GET_DAEMON’ 未声明 (在此函数内第一次使用)
libipvs.c: 在函数 ‘ipvs_strerror’ 中:
libipvs.c:357: 错误:‘ipvs_get_service’ 未声明 (在此函数内第一次使用)
make[1]: *** [libipvs.o] 错误 1
make[1]: Leaving directory `/usr/local/src/ipvsadm-1.24/libipvs'
make: *** [libs] 错误 2
帮帮我吧,我急用阿,

Forums:

下载 wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
tar zxvf ipvsadm-1.24.tar.gz
cd ipvsadm-1.24
make && make install

注意在make时可能会出现很多错误的信息,请按照如下操作就可以编译正常(下载内核源代码)
ln -s /usr/src/kernels/2.6.9-22.EL-i686/ /usr/src/linux
cd ipvsadm-1.24
make && make install

randomness