麒麟操作系统编译安装openGauss时,无RedHat LSB的解决方法咨询
麒麟系统编译openGauss时缺失RedHat LSB的解决方法
报错原因
编译脚本执行时触发lsb_release: 未找到命令错误,是因为系统缺少RedHat LSB工具包,导致脚本无法识别当前操作系统平台,进而触发断言错误终止编译。
解决方法
方法一:安装RedHat LSB核心包
直接通过包管理器安装所需工具:
# 基于yum的麒麟系统 yum install redhat-lsb-core -y # 基于dnf的麒麟系统(如麒麟V10新版本) dnf install redhat-lsb-core -y
安装完成后,执行lsb_release -a验证,能正常输出系统版本信息即可重新执行编译脚本:
sh build_all.sh
方法二:手动修改脚本跳过平台检测(适用于无法安装LSB包的场景)
- 编辑平台检测脚本:
vi /opt/ogsrc/openGauss-third_party/build/get_PlatForm_str.sh
找到第24行调用lsb_release的代码段,替换为直接输出麒麟系统对应的平台标识(例如麒麟V10为kylinV10),示例修改:
# 替换原lsb_release相关逻辑为 echo "kylinV10"
- 编辑编译控制脚本:
vi /opt/ogsrc/openGauss-third_party/build/build.py
找到binary_parser函数中的Assert False语句,注释或删除该行,避免断言终止编译。
修改完成后重新执行编译脚本即可。
内容的提问来源于stack exchange,提问作者Sarah
相关产品推荐
相关产品推荐

