2506版本构建出包失败

【当前背景】
bingo版本:0.5.317
bmc_sdk:2506最新版本
manifest版本:2506
镜像版本:2503版本镜像

【执行操作】
更新SDK
1、删除/opt/目录下所有文件
2、解压新版的bmc_sdk,按照init.py中的命令进行操作,在执行bingo build -t install_sdk -b openUBMC -ucc

执行后在manifest中执行LOG=info bingo build -b openUBMC -r artifactory后报错

fructrl/1.70.35@openUBMC.release/rc: Configuring sources in /root/.conan/data/fructrl/1.70.35/openUBMC.release/rc/source
fructrl/1.70.35@openUBMC.release/rc: SCM: Getting sources from url: 'https://gitcode.com/openUBMC/fructrl.git'
fructrl/1.70.35@openUBMC.release/rc: Copying sources to build folder
fructrl/1.70.35@openUBMC.release/rc: Building your package in /root/.conan/data/fructrl/1.70.35/openUBMC.release/rc/build/ded551da8fa3f9b86d2a2e032320257dc3fdefa4
fructrl/1.70.35@openUBMC.release/rc: WARN: 
     ************************************************
     The 'cmake' generator is deprecated.
     Please update your code and remove it.
     *************************************************

fructrl/1.70.35@openUBMC.release/rc: Generator cmake created conanbuildinfo.cmake
fructrl/1.70.35@openUBMC.release/rc: Calling generate()
fructrl/1.70.35@openUBMC.release/rc: Aggregating env generators
fructrl/1.70.35@openUBMC.release/rc: Calling build()
fructrl/1.70.35@openUBMC.release/rc: Package 'ded551da8fa3f9b86d2a2e032320257dc3fdefa4' built
fructrl/1.70.35@openUBMC.release/rc: Build folder /root/.conan/data/fructrl/1.70.35/openUBMC.release/rc/build/ded551da8fa3f9b86d2a2e032320257dc3fdefa4
fructrl/1.70.35@openUBMC.release/rc: Generated conaninfo.txt
fructrl/1.70.35@openUBMC.release/rc: Generated conanbuildinfo.txt
fructrl/1.70.35@openUBMC.release/rc: Generating the package
fructrl/1.70.35@openUBMC.release/rc: Package folder /root/.conan/data/fructrl/1.70.35/openUBMC.release/rc/package/ded551da8fa3f9b86d2a2e032320257dc3fdefa4
fructrl/1.70.35@openUBMC.release/rc: Calling package()
fructrl/1.70.35@openUBMC.release/rc: WARN: **** The 'from conans import CMake' helper is deprecated. Please update your code and remove it. ****
Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Detecting C compiler ABI info
e[43m-- Detecting C compiler ABI info - failede[0m
-- Check for working C compiler: /opt/hcc_arm64le/bin/aarch64-target-linux-gnu-gcc
-- Check for working C compiler: /opt/hcc_arm64le/bin/aarch64-target-linux-gnu-gcc - broken
e[43mCMake Error at /usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:67 (message):e[0m
  The C compiler

    "/opt/hcc_arm64le/bin/aarch64-target-linux-gnu-gcc"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: '/root/.conan/data/fructrl/1.70.35/openUBMC.release/rc/build/ded551da8fa3f9b86d2a2e032320257dc3fdefa4/CMakeFiles/CMakeScratch/TryCompile-y7OYvK'
    
    Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e9681/fast
    /usr/bin/gmake  -f CMakeFiles/cmTC_e9681.dir/build.make CMakeFiles/cmTC_e9681.dir/build
    gmake[1]: 进入目录“/root/.conan/data/fructrl/1.70.35/openUBMC.release/rc/build/ded551da8fa3f9b86d2a2e032320257dc3fdefa4/CMakeFiles/CMakeScratch/TryCompile-y7OYvK”
    Building C object CMakeFiles/cmTC_e9681.dir/testCCompiler.c.o
    /opt/hcc_arm64le/bin/aarch64-target-linux-gnu-gcc --sysroot=/opt/RTOS/208.9.0/arm64le_5.10_ek_preempt_pro/sdk -D_FORTIFY_SOURCE=2  -Wall -fPIC -fstack-protector-all -O2 -Wl,-z,relro,-z,now -Wl,-z,relro -Wl,-z,noexecstack -Wl,-z,now -fPIE -pie -fno-common -std=gnu11  -o CMakeFiles/cmTC_e9681.dir/testCCompiler.c.o -c /root/.conan/data/fructrl/1.70.35/openUBMC.release/rc/build/ded551da8fa3f9b86d2a2e032320257dc3fdefa4/CMakeFiles/CMakeScratch/TryCompile-y7OYvK/testCCompiler.c
    Linking C executable cmTC_e9681
    /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e9681.dir/link.txt --verbose=1
    /opt/hcc_arm64le/bin/aarch64-target-linux-gnu-gcc --sysroot=/opt/RTOS/208.9.0/arm64le_5.10_ek_preempt_pro/sdk -Wall -fPIC -fstack-protector-all -O2 -Wl,-z,relro,-z,now -Wl,-z,relro -Wl,-z,noexecstack -Wl,-z,now -fPIE -pie -fno-common -std=gnu11  CMakeFiles/cmTC_e9681.dir/testCCompiler.c.o -o cmTC_e9681 
    /opt/hcc_arm64le/bin/../lib64/gcc/aarch64-target-linux-gnu/7.3.0/../../../../aarch64-target-linux-gnu/bin/ld: 找不到 Scrt1.o: 没有那个文件或目录
    /opt/hcc_arm64le/bin/../lib64/gcc/aarch64-target-linux-gnu/7.3.0/../../../../aarch64-target-linux-gnu/bin/ld: 找不到 crti.o: 没有那个文件或目录
    /opt/hcc_arm64le/bin/../lib64/gcc/aarch64-target-linux-gnu/7.3.0/../../../../aarch64-target-linux-gnu/bin/ld: 找不到 -lc: 没有那个文件或目录
    /opt/hcc_arm64le/bin/../lib64/gcc/aarch64-target-linux-gnu/7.3.0/../../../../aarch64-target-linux-gnu/bin/ld: 找不到 crtn.o: 没有那个文件或目录
e[43m    collect2: error: ld returned 1 exit statuse[0m
    gmake[1]: *** [CMakeFiles/cmTC_e9681.dir/build.make:99:cmTC_e9681] 错误 1
    gmake[1]: 离开目录“/root/.conan/data/fructrl/1.70.35/openUBMC.release/rc/build/ded551da8fa3f9b86d2a2e032320257dc3fdefa4/CMakeFiles/CMakeScratch/TryCompile-y7OYvK”
    gmake: *** [Makefile:127:cmTC_e9681/fast] 错误 2
    
    

  

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:3 (project)


-- Configuring incomplete, errors occurred!
e[43mERROR: fructrl/1.70.35@openUBMC.release/rc: Error in package() method, line 30e[0m
	super().package()
e[43m	ConanException: Error 1 while executing cd '/root/.conan/data/fructrl/1.70.35/openUBMC.release/rc/build/ded551da8fa3f9b86d2a2e032320257dc3fdefa4' && cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_SYSTEM_NAME="Linux" -DCMAKE_SYSTEM_VERSION="3.14" -DCONAN_CMAKE_FIND_ROOT_PATH="/opt/RTOS/208.9.0/arm64le_5.10_ek_preempt_pro/sdk" -DCONAN_CMAKE_FIND_ROOT_PATH_MODE_PROGRAM="NEVER" -DCONAN_CMAKE_FIND_ROOT_PATH_MODE_LIBRARY="ONLY" -DCONAN_CMAKE_FIND_ROOT_PATH_MODE_INCLUDE="ONLY" -DCMAKE_SYSROOT="/opt/RTOS/208.9.0/arm64le_5.10_ek_preempt_pro/sdk" -DCONAN_IN_LOCAL_CACHE="ON" -DCONAN_COMPILER="gcc" -DCONAN_COMPILER_VERSION="7.3" -DCONAN_LIBCXX="libstdc++" -DCMAKE_INSTALL_PREFIX="/root/.conan/data/fructrl/1.70.35/openUBMC.release/rc/package/ded551da8fa3f9b86d2a2e032320257dc3fdefa4" -DCMAKE_INSTALL_BINDIR="bin" -DCMAKE_INSTALL_SBINDIR="bin" -DCMAKE_INSTALL_LIBEXECDIR="bin" -DCMAKE_INSTALL_LIBDIR="usr/lib64" -DCMAKE_INSTALL_INCLUDEDIR="include" -DCMAKE_INSTALL_OLDINCLUDEDIR="include" -DCMAKE_INSTALL_DATAROOTDIR="share" -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY="ON" -DCONAN_EXPORTED="1" -DBUILD_MANUFACTURE="True" -DCONAN_DEFS_QEMU="False" -DPACKAGE_VERSION_MAJOR="1" -DPACKAGE_VERSION_MINOR="70" -DPACKAGE_VERSION_REVISION="35" -DCMAKE_TOOLCHAIN_FILE="conan_toolchain.cmake" -DCMAKE_SKIP_BUILD_RPATH="True" -DCMAKE_SKIP_RPATH="True" -DCMAKE_SKIP_INSTALL_RPATH="True" -DCMAKE_BUILD_WITH_INSTALL_RPATH="False" -DCMAKE_INSTALL_RPATH_USE_LINK_PATH="False" -Wno-dev '--no-warn-unused-cli' '/root/.conan/data/fructrl/1.70.35/openUBMC.release/rc/build/ded551da8fa3f9b86d2a2e032320257dc3fdefa4'e[0m
构建完成时间: 2025/07/08 10:34:00.064028
e[31m[2025-07-08 02:34:00,098 ERROR] task_build_conan.py:181 ================== fructrl/1.70.35@openUBMC.release/rc#3334c93220fcb5c47754c9363a655be3 构建失败日志结束位置 ==================e[0m

构建日志见附件
task.txt (186.0 KB)

【当前疑问】
1、bmc_sdk更新是否有偏差,是否有什么配套关系需要注意
2、当前构建出包失败的问题应该如何解决

查看ls -al /opt目录,列出文件


以上是查询到的文件

【初步分析】
根据日志,构建 fructrl 包时发生问题,主要表现如下:

  1. C编译器检测失败
    CMake检测交叉编译器时失败,提示:
-- Detecting C compiler ABI info - failed  
-- Check for working C compiler: /opt/hcc_arm64le/bin/aarch64-target-linux-gnu-gcc - broken  

说明交叉编译器无法正常工作。

  1. 链接器找不到关键启动文件和库
    链接测试程序时,链接器报错缺少以下文件:
Scrt1.o、crti.o、crtn.o,以及 -lc 库文件  

这些文件属于C运行时和启动文件,缺失导致链接失败。

  1. 根本原因推测
    工具链的 sysroot 配置不完整或错误,导致找不到C运行时库和启动文件。
    在当前SDK路径 /opt/RTOS/208.9.0/arm64le_5.10_ek_preempt_pro/sdk 中,缺少 libc.socrt1.ocrti.ocrtn.o 等关键文件。

【SDK更新相关情况】

  • 日志显示安装了 rtos_lkp-208.8.1rtos_base-208.8.1 两个rpm包,且删除并重新解压了 /opt/hcc_arm64le 目录。
  • 更新过程中提示无法从 yaml 文件获取 base/rtos_offering 配置项,可能存在配置缺失。
  • /root/RTOS 目录下有多个SDK版本,之前尝试删除旧版本并重新复制SDK及工具链后依然构建失败。


【当前疑问】

  • 构建失败是否与SDK更新直接相关?
  • SDK更新步骤是否完整正确,是否遗漏了关键环节?
  • 是否有推荐的SDK更新流程和工具链配置方法,能确保编译环境完整有效?

使用2506版本manifest仓库中的dockerfile制作的镜像去编译社区的manifest也出现了同样的问题

当前社区manifest仓库中init.py中的bingo安装还是2503版本,卸载bingo后重新安装0.5.262版本bingo构建仍然出现相同问题

使用ls -al /opt列出的文件如下:

根本原因是RTOS版本不对,应该是208.9版本

当前问题是否已解决?

SDK更新已经完成,目前是
image
但是构建出包仍有问题,与配套的工具以及组件有关


目前等待同步配套关系后再进行验证

此问题已解决

@baixin_zhangbin bingo版本0.5.317 存在一个缺陷,导致自签名的release包升级会回退,请向PAE获取最新版本。 或使用社区的bingo 版本, 签名指导参考

1 个赞