当前位置: 首页 > news >正文

【Keepalived】Keepalived-2.3.3明确结束对CentOS 7的支持

2025年3月30日,官方发布了Keepalived的最新版,版本号:2.3.3

而2024年11月3日发布的2.3.2版本,在CentOS 7.9上编译的时候,就出现了报错,但是在Alma Linux 8.10上,则可以成功编译安装,当时我就觉得可能从2.3.2版本开始,Keepalived已经不再支持CentOS 7了,但是在这个版本的发布声明中,官方并没有明确提及这个问题。

下载地址:https://keepalived.org/software/keepalived-2.3.3.tar.gz (不再兼容CentOS/Redhat 7.x版本

相关报错记录详见:https://blog.csdn.net/cnskylee/article/details/143572514

但是,这次的2.3.3版的发布声明文档中,官方已经明确申明,Keepalived 2.3.3版本不再支持CentOS 7系统。

但是,这里让我很不解的是,官方又在 Improvements 说明,允许在非常老的系统中编译(内核版本 < 3.15),不过我在CentOS 7.9系统中编译,还是出现错误,信息如下:

[root@node02 keepalived-2.3.3]# make
Making all in lib
make[1]: 进入目录“/usr/local/src/keepalived-2.3.3/lib”
make  all-am
make[2]: 进入目录“/usr/local/src/keepalived-2.3.3/lib”
  CC       memory.o
  CC       utils.o
utils.c: 在函数‘dump_buffer’中:
utils.c:106:5: 警告:无法优化可能无穷的循环 [-Wunsafe-loop-optimizations]
     for (j = i - 15; j <= i; j++)
     ^
  CC       notify.o
  CC       timer.o
  CC       scheduler.o
  CC       vector.o
  CC       html.o
  CC       parser.o
  CC       signals.o
  CC       logger.o
  CC       list_head.o
  CC       rbtree.o
  CC       process.o
  CC       json_writer.o
  CC       rttables.o
  AR       liblib.a
make[2]: 离开目录“/usr/local/src/keepalived-2.3.3/lib”
make[1]: 离开目录“/usr/local/src/keepalived-2.3.3/lib”
Making all in keepalived
make[1]: 进入目录“/usr/local/src/keepalived-2.3.3/keepalived”
Making all in core
make[2]: 进入目录“/usr/local/src/keepalived-2.3.3/keepalived/core”
  CC       main.o
main.c: 在函数‘sigend’中:
main.c:1210:34: 警告:assuming signed overflow does not occur when simplifying conditional to constant [-Wstrict-overflow]
   for (i = 0; i < NUM_CHILD_TERM && wait_count; i++) {
                                  ^
main.c:1232:6: 警告:assuming signed overflow does not occur when simplifying conditional to constant [-Wstrict-overflow]
   if (wait_count) {
      ^
main.c:1169:8: 警告:assuming signed overflow does not occur when simplifying conditional to constant [-Wstrict-overflow]
  while (wait_count) {
        ^
  CC       daemon.o
  CC       pidfile.o
  CC       layer4.o
  CC       smtp.o
  CC       global_data.o
  CC       global_parser.o
  CC       keepalived_netlink.o
keepalived_netlink.c: 在函数‘rta_addattr_l’中:
keepalived_netlink.c:748:42: 警告:在有符号和无符号整数表达式间比较 [-Wsign-compare]
  if (RTA_ALIGN(rta->rta_len) + align_len > maxlen)
                                          ^
keepalived_netlink.c: 在函数‘rta_addattr_l2’中:
keepalived_netlink.c:769:42: 警告:在有符号和无符号整数表达式间比较 [-Wsign-compare]
  if (RTA_ALIGN(rta->rta_len) + align_len > maxlen)
                                          ^
  CC       namespaces.o
  CC       track_process.o
  CC       reload_monitor.o
  CC       config_notify.o
  AR       libcore.a
make[2]: 离开目录“/usr/local/src/keepalived-2.3.3/keepalived/core”
Making all in vrrp
make[2]: 进入目录“/usr/local/src/keepalived-2.3.3/keepalived/vrrp”
  CC       vrrp_daemon.o
  CC       vrrp_print.o
  CC       vrrp_data.o
  CC       vrrp_parser.o
  CC       vrrp.o
vrrp.c: 在函数‘vrrp_check_packet’中:
vrrp.c:1053:23: 警告:在有符号和无符号整数表达式间比较 [-Wsign-compare]
       vrrp->adver_int != (V3_PKT_ADVER_INT_NTOH(hd->v3.adver_int)) * TIMER_CENTI_HZ) {
                       ^
vrrp.c: 在函数‘open_vrrp_read_socket’中:
vrrp.c:2717:103: 错误:‘IPV6_FREEBIND’未声明(在此函数内第一次使用)
   if (setsockopt(fd, family == AF_INET ? IPPROTO_IP : IPPROTO_IPV6, family == AF_INET ? IP_FREEBIND : IPV6_FREEBIND, &on, sizeof on))
                                                                                                       ^
vrrp.c:2717:103: 附注:每个未声明的标识符在其出现的函数内只报告一次
make[2]: *** [vrrp.o] 错误 1
make[2]: 离开目录“/usr/local/src/keepalived-2.3.3/keepalived/vrrp”
make[1]: *** [all-recursive] 错误 1
make[1]: 离开目录“/usr/local/src/keepalived-2.3.3/keepalived”
make: *** [all-recursive] 错误 1
[root@node02 keepalived-2.3.3]# uname -a
Linux node02 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

而这个问题,估计就与3.15版本的内核中新引入的“开放式文件描述符锁-Open file descriptor locks”有关系。

相关文章:

  • 【蓝桥杯】第十四届C++B组省赛
  • git 常用操作整理
  • L1-083 谁能进图书馆(10分)(超详解)
  • 优化 ant-select(下拉数据太多)导致的页面卡顿问题
  • MPLAB X IDE 环境中配置字的注意点
  • python的sys中sys.argv 和 sys.exit() 用法
  • 数据层的基本操作
  • RKNN SDK User Guide学习要点
  • .NET 调用API创建系统服务实现权限维持
  • 实现ESP32woor连接deepseek进行访问
  • 【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的安全性:使用 Spring Security 实现认证与授权
  • React 中的 Props
  • 文件操作与IO—文件读写
  • 开源手机号码价值评估系统
  • AI Agent系列(八) -基于ReAct架构的前端开发助手(DeepSeek)
  • Spring笔记04-注解注入
  • Python每日一题(11)
  • oracle执行计划
  • 《异常检测——从经典算法到深度学习》30. 在线服务系统中重复故障的可操作和可解释的故障定位
  • 42. 接雨水
  • 深圳服务好的网站建设/lpl赛区战绩
  • 网站建设教学视频教程/外链购买
  • 衡水教育行业网站建设/河北百度竞价优化
  • 腾讯建设网站视频下载/竞价推广员月挣多少
  • 南京做网站企业/无锡百度正规公司
  • 丰台网站建设报价/网站开发工具