如何在树莓派3 Model B+上安装GLIBC 2.34?
解决树莓派缺失GLIBC 2.34的方案
方法一:调整交叉编译工具链(优先推荐)
直接在树莓派升级GLIBC易破坏系统依赖,更稳妥的方式是让交叉编译工具链适配树莓派当前的GLIBC版本:
- 查看树莓派当前GLIBC版本:在树莓派终端执行
ldd --version,记录主版本号 - 更换对应版本的交叉编译工具链:
- 从Debian官方源下载适配树莓派架构(armhf/arm64)且GLIBC版本与树莓派匹配的工具链,比如执行
apt install gcc-arm-linux-gnueabihf(对应armhf架构),确保工具链的GLIBC版本不高于树莓派的版本 - 在Eclipse中重新配置交叉编译环境,指定新的工具链路径
- 从Debian官方源下载适配树莓派架构(armhf/arm64)且GLIBC版本与树莓派匹配的工具链,比如执行
方法二:安全升级树莓派的GLIBC(谨慎操作)
如果必须升级GLIBC到2.34,按以下步骤适配Debian系的树莓派系统:
- 准备编译环境:在树莓派终端安装依赖:
sudo apt update && sudo apt install build-essential bison flex gettext texinfo - 下载并解压GLIBC 2.34源码:
wget https://ftp.gnu.org/gnu/glibc/glibc-2.34.tar.xz tar -xf glibc-2.34.tar.xz cd glibc-2.34 mkdir build && cd build - 配置编译参数(适配Debian):
避免使用Ubuntu专属配置,执行:
注:../configure --prefix=/usr --libdir=/usr/lib/arm-linux-gnueabihf --libexecdir=/usr/lib/arm-linux-gnueabihf --enable-kernel=4.19 --disable-werror--enable-kernel需指定树莓派当前内核版本(可通过uname -r查看,取主版本号如4.19),架构参数根据树莓派实际情况调整(arm64则替换为aarch64-linux-gnu) - 编译安装:
编译时若出现依赖报错,根据提示安装对应缺失包即可make -j$(nproc) sudo make install
方法三:静态编译程序
若以上方法存在障碍,可直接在交叉编译时添加静态编译参数,让程序自带所需GLIBC:
- 在Eclipse的编译选项中添加
-static参数,编译后的二进制文件会包含所需GLIBC库,无需依赖树莓派系统的GLIBC版本
内容的提问来源于stack exchange,提问作者redfelix
相关产品推荐
相关产品推荐

