You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yocto Thud版本安装Docker遇cannot find -lgcc_s编译错误求助

解决Yocto Thud编译Docker时cannot find -lgcc_s错误

问题分析

编译runc-docker时出现链接错误,核心原因是静态编译模式下缺少静态版本的libgcc_s库。从日志可见,构建时启用了static_build标签,链接器尝试静态链接所有依赖,但系统未提供libgcc_s.a静态库文件。

解决方案

方案1:添加静态gcc库到系统镜像依赖

在local.conf中追加静态gcc库的安装配置:

IMAGE_INSTALL_append = " libgcc-static"

该配置会将静态版本的libgcc_s库打包到目标镜像,同时在构建阶段让sysroot包含该库,满足runc的静态链接需求。

方案2:修改runc-docker配方,禁用静态编译

如果不需要完全静态编译的runc,可创建runc-docker_%.bbappend文件(放在自定义meta层的recipes-containers/runc-docker/目录下),内容如下:

PACKAGECONFIG_remove = "static"

此操作会关闭runc的静态编译选项,改用动态链接,规避对静态libgcc_s的依赖。

方案3:为runc-docker配方添加静态gcc依赖

仅针对runc-docker的构建过程添加静态gcc库依赖,不影响整个镜像。同样创建runc-docker_%.bbappend:

DEPENDS_append = " libgcc-static"

这样编译runc-docker时,构建系统会自动拉取并部署静态libgcc_s库到sysroot,解决链接器找不到库的问题。

验证操作

修改配置后,清理runc-docker的构建缓存并重新编译:

bitbake -c cleansstate runc-docker
bitbake runc-docker

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 11:33:45