Ubuntu 18.04安装gcc8编译仓库时出现libgcc_s.so.1缺失GCC_7.0.0报错
报错
libgcc_s.so.1: version 'GCC_7.0.0' not found问题解决 问题诱因
该报错的核心原因如下:
- Ubuntu 18.04系统默认预装gcc 7,系统内置的32位运行库
/usr/lib32/libstdc++.so.6是基于gcc 7编译的,运行时强依赖带有GCC_7.0.0版本标识的32位libgcc_s.so.1库 - 你手动安装gcc 8时,仅安装了64位架构的兼容依赖,32位架构的gcc 7运行库被意外覆盖/卸载,导致对应版本符号缺失
修复步骤
1. 验证依赖归属
先执行命令确认32位libgcc库的包关联状态:dpkg -S /usr/lib32/libgcc_s.so.1
正常输出会关联到libgcc1:i386包,输出为空即代表该依赖包已丢失。
2. 安装缺失的32位gcc 7依赖
执行以下命令安装对应依赖:
sudo apt update sudo apt install libgcc1:i386 lib32gcc-7-dev
lib32gcc-7-dev会自动向/usr/lib32路径下写入带GCC_7.0.0版本标识的libgcc_s.so.1库,补全缺失符号。
3. 验证修复结果
执行命令校验符号是否存在:objdump -p /usr/lib32/libgcc_s.so.1 | grep GCC_7.0.0
有匹配输出即代表修复完成,可重新执行编译操作。
异常兼容方案
如果修复后仍然报错,说明你当前全局gcc优先级配置异常,可临时切换默认gcc版本完成编译:
- 执行
sudo update-alternatives --config gcc - 在弹出的列表中选择gcc 7对应的序号回车即可
- 编译完成后可重复上述操作切回gcc 8
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

