我试图在我登录的远程服务器上运行脚本,但它报告了错误:
bin/track.linux: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by bin/track.linux)
所以,我检查了当前版本,实际上是2.28。我回到本地环境(WSL 上的 Ubuntu 18.04),也有相同的版本。
然后按照多个论坛的建议,我将环境升级到了Ubuntu 20.04,查看了版本,确实是
ldd (Ubuntu GLIBC 2.31-0ubuntu9.14) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
但是,当我尝试在服务器上再次运行该脚本时,它再次报告:
bin/track.linux: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by bin/track.linux)
又查了GLIBC的版本,确实是ldd (Debian GLIBC 2.28-10+deb10u2) 2.28
。
所以,我有一些问题:
a) 为什么当我通过
ldd --version
询问GLIBC的版本时,本地它指的是Ubuntu GLIBC,而在服务器上它指的是Debian GLIBC?
b) 为什么两个版本不同?我的意思是为什么服务器上的 GLIBC 版本与本地 GLIBC 版本不同?我应该断开与服务器的连接并尝试再次重新连接吗?
(P.s.对于我的非计算机科学语言提前表示抱歉)
为什么两个版本不同?
您有两个独立的系统。其中一台(本地)已升级。这对另一个(服务器上的)没有影响,保持不变(旧)。
您为何对这个结果感到惊讶?