在使用交叉编译器编译一个简单测试程序,报错GLIBC
版本太低了,需要GLIBC 2.34
。Ubuntu18最高只支持GLIBC 2.27
,有两种方法可以解决。
1,通过将Ubuntu版本从18升级到22解决。
- 安装
do-release-upgrade
工具。
sudo apt install ubuntu-release-upgrader-core
- 运行升级命令,按照提示确认操作即可。
sudo do-release-upgrade
- 查看当前系统支持的
GLIBC
版本
user@rt-ics:~$ ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3.4) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
2,添加源(可能会对系统功能产生影响)
- 修改
/etc/apt/sources.list
文件(换源用到的那个文件),添加以下这行
deb http://mirrors.aliyun.com/ubuntu-ports/ jammy main
- 更新 apt 包管理器的索引,安装 libc6 ,查看
GLIBC
版本,我这边运行后成功了。
sudo apt update
sudo apt install libc6
ldd --version
我在成功以后,将之前/etc/apt/sources.list
文件中添加的那行又给删除了。防止下载的软件包没法用。