/usr/include/sys/types.h:235: error conflicting type for 'blkcnt_t'

 

发现在某些2.6.18-164.el5 内核上编译keepalived 出错

环境

  1. $ uname -a 
  2. Linux one.test.com 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux 

错误

/usr/include/sys/types.h:235: error conflicting type for 'blkcnt_t'

/usr/include/sys/types.h:235: error conflicting type for 'blkcnt_t'_错误

排错

更换到 centos5.7 正常,centos 5.7 内核如下

  1. $ uname -r 
  2.  
  3. 2.6.18-274.el5 

 

检查

发现 ./configure 时 自动添加了 Use IPVS Framework 与 IPVS sync daemon support 全部yes ,而我这里 并不需要这写功能。

/usr/include/sys/types.h:235: error conflicting type for 'blkcnt_t'_错误_02

解决方法

configure 添加两个参数 --disable-lvs --disable-lvs-syncd

/usr/include/sys/types.h:235: error conflicting type for 'blkcnt_t'_错误_03

确认 只有 Use VRRP Framework 为 yes

/usr/include/sys/types.h:235: error conflicting type for 'blkcnt_t'_错误_04

make 通过

/usr/include/sys/types.h:235: error conflicting type for 'blkcnt_t'_错误_05

 

结束

对于2.6.18-164.el5 内核 configure 添加两个参数 --disable-lvs --disable-lvs-syncd 即可;

2.6.18-274.el5 内核无此问题!