在64位centos5.7下编译安装keepalived-1.2.2,执行make时出现错误。这个错误出现的原因可能是头文件 linux/types.h和sys/types.h的int64_t、u_int64_t定义有冲突,头文件linux/types.h在定义 int64_t等时没有防止重复定义,而sys/types.h头文件在定义int64_t等时是有防止重复定义的措施的。将sys/types.h(其 中包含了linux/types.h)放到所有头文件的前面包含,解决问题。

make[2]: Leaving directory `/root/keepalived-1.2.2/keepalived/vrrp'
make[2]: Entering directory `/root/keepalived-1.2.2/keepalived/libipvs-2.6'
gcc -g -O2 -DETHERTYPE_IPV6=0x86dd  -I/usr/src/linux/include -DLIBIPVS_DONTUSE_NL -Wall -Wunused -c -o libipvs.o libipvs.c
gcc -g -O2 -DETHERTYPE_IPV6=0x86dd  -I/usr/src/linux/include -DLIBIPVS_DONTUSE_NL -Wall -Wunused -c -o ip_vs_nl_policy.o ip_vs_nl_po