You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

CentOS7安装pgAgent遇Boost依赖及CMake版本兼容问题求助

解决CentOS 7编译pgAgent-4.0.0时的CMake版本兼容问题

这些错误的核心原因是CentOS 7默认自带的CMake版本过低(通常是2.8.x),而pgAgent-4.0.0的构建脚本依赖了CMake 3.12及以上版本才支持的特性——比如CMP0057策略、string(APPEND)语法、IN_LIST条件判断等。下面是具体的解决步骤:

步骤1:卸载系统旧版CMake

先移除系统自带的低版本CMake,避免冲突:

sudo yum remove cmake -y

步骤2:安装兼容的新版CMake

这里提供两种可靠的安装方式,选其一即可:

方式一:通过EPEL源安装cmake3(推荐,快速便捷)

CentOS 7的EPEL源提供了满足版本要求的cmake3包:

  1. 先启用EPEL源:
    sudo yum install epel-release -y
    
  2. 安装cmake3:
    sudo yum install cmake3 -y
    
  3. 为了方便使用,给cmake3创建软链接(可选,这样可以直接用cmake命令):
    sudo ln -s /usr/bin/cmake3 /usr/bin/cmake
    
  4. 验证版本,确认是3.x以上:
    cmake --version
    

方式二:编译安装最新稳定版CMake(适合需要特定版本的场景)

如果需要更晚版本的CMake,可以手动编译:

  1. 安装编译依赖:
    sudo yum install gcc gcc-c++ make wget -y
    
  2. 下载CMake源码包(以3.26.4稳定版为例):
    wget https://cmake.org/files/v3.26/cmake-3.26.4.tar.gz
    
  3. 解压并进入源码目录:
    tar zxf cmake-3.26.4.tar.gz && cd cmake-3.26.4
    
  4. 编译安装:
    ./bootstrap && make && sudo make install
    
  5. 验证版本:
    cmake --version
    

步骤3:重新编译pgAgent

回到pgAgent源码目录,先清理之前生成的CMake缓存文件,避免残留配置干扰:

rm -rf CMakeFiles CMakeCache.txt

然后重新执行你的cmake命令:

cmake -D PG_CONFIG_PATH:FILEPATH=/usr/pgsql/bin/pg_config -D STATIC_BUILD:BOOL=off .

最后完成编译安装:

make && sudo make install

额外注意事项

  • 如果后续出现Boost相关的缺失错误,可以安装Boost开发包:
    sudo yum install boost-devel -y
    
  • 确保/usr/pgsql/bin路径正确,或者替换为你的PostgreSQL实际安装路径下的pg_config可执行文件路径。

内容的提问来源于stack exchange,提问作者user2266543

火山引擎 最新活动