树莓派更新工具链
问题所在
今天本想在我的树梅派上安装个 neovim 0.10 版本,结果通过运行后出现下面错误:
❯ nvim
nvim: /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by nvim)
nvim: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by nvim)
编译的bin文件,在树莓派上竟然无法运行?对于这个错误,其实是由于glibc的库太旧了,所以升级树莓派的glibc应该就可以解决问题
解决方案
首先查看树梅派libc的版本
strings /lib/aarch64-linux-gnu/libc.so.6 | grep GLIBC_
确实没有GLIBC_2.38,下面开始升级
wget http://ftp.gnu.org/gnu/glibc/glibc-2.38.tar.gz
tar -zxvf glibc-2.38.tar.gz
cd glibc-2.38
mkdir build
cd build
sudo apt-get install bison (if you haven't never install bison, bison --version to look version )
../configure --prefix=/opt/glibc-2.38
sudo make install
make install需要很长时间,耐心等待后再次查看树梅派 libc 的版本,应该就可以看到 GLIBC_2.38 了。
如果你发现你的系统指令如 ls 无法使用了,不要慌,下面方法应该可以解决
LD_PRELOAD=/opt/glibc-2.29/lib/libc-2.29.so
ln -s /opt/glibc-2.29/lib/libc-2.29.so /lib/aarch64-linux-gnu/libc.so.6
如果上述更新失败可使用如下命令还原:
LD_PRELOAD=/lib/aarch64-linux-gnu/libc-2.31.so
ln -s /lib/aarch64-linux-gnu/libc-2.31.so /lib/aarch64-linux-gnu/libc.so.6 // libc-2.31.so 此项是系统升级前的版本

浙公网安备 33010602011771号