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

LFS编译用于构建glibc的GCC时遇链接测试错误,求解决

错误原因

该错误出现在GCC stage2构建阶段,由于--with-newlib和--without-headers的配置限制了可执行文件生成,但libiberty、zlib等组件的配置脚本仍尝试执行链接测试(比如CET支持检测),从而触发规则冲突。

解决方案

方案1:添加环境变量跳过CET检测

在执行configure命令前,先设置环境变量跳过CET支持的链接测试:

export configure_cv_sys_cet=none

之后重新运行原configure命令,再执行make编译。

方案2:修改configure参数,禁用zlib相关组件

在原configure参数中新增--disable-libz,阻止zlib配置流程触发链接测试:

../configure \
    --target=$LFS_TGT         \
    --prefix=$LFS/tools       \
    --with-glibc-version=2.38 \
    --with-sysroot=$LFS       \
    --with-newlib             \
    --without-headers         \
    --enable-default-pie      \
    --enable-default-ssp      \
    --disable-nls             \
    --disable-shared          \
    --disable-multilib        \
    --disable-threads         \
    --disable-libatomic       \
    --disable-libgomp         \
    --disable-libquadmath     \
    --disable-libssp          \
    --disable-libvtv          \
    --disable-libstdcxx       \
    --disable-libz            \
    --enable-languages=c,c++

执行前需完全清理原有构建目录,避免旧缓存干扰:

cd /mnt/lfs/sources/gcc-13.2.0
rm -rf build
mkdir build && cd build

方案3:确认宿主系统环境合规

  • 检查宿主系统GCC版本≥11.2、binutils版本≥2.38,否则会出现兼容性问题
  • 验证$LFS和$LFS_TGT变量设置正确:
    echo $LFS  # 应输出/mnt/lfs
    echo $LFS_TGT  # 对应架构,例如x86_64-lfs-linux-gnu
    
  • 确保宿主系统已安装LFS手册要求的所有依赖包(如gmp、mpfr、mpc、isl,需安装到宿主系统或在GCC源码目录创建符号链接)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 20:59:57