WSL1 Ubuntu20.04运行CERN ROOT提示GLIBC_2.34缺失求助
WSL1 Ubuntu 20.04运行CERN ROOT报错:GLIBC_2.34未找到
我是新手,还请见谅。在Windows 10的WSL1(Ubuntu 20.04)环境下运行CERN ROOT,已按官网要求安装所有依赖,但执行root命令时出现错误:
root: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34 not found (required by root)
尝试更新libc6:
sudo apt update sudo apt install libc6
得到系统提示:
libc6 is already the newest version (2.31-0ubuntu9.14).
已安装的依赖清单:
sudo apt-get install dpkg-dev cmake g++ gcc binutils libx11-dev libxpm-dev \ libxft-dev libxext-dev python3 libssl-dev libafterimage0 sudo apt-get install gfortran libpcre3-dev \ xlibmesa-glu-dev libglew-dev libftgl-dev \ libmysqlclient-dev libfftw3-dev libcfitsio-dev \ graphviz-dev libavahi-compat-libdnssd-dev \ libldap2-dev python3-dev python3-numpy libxml2-dev libkrb5-dev \ libgsl0-dev qtwebengine5-dev nlohmann-json3-dev
解决办法
1. 切换到WSL2(最稳妥方案)
Ubuntu 20.04默认的GLIBC版本是2.31,WSL1受限于底层机制,无法安全升级到更高版本的GLIBC。WSL2对系统库兼容性更好,操作步骤:
- 打开Windows PowerShell,执行:
wsl --set-version Ubuntu-20.04 2 - 切换完成后重启WSL终端,重新尝试运行或安装ROOT。
2. 安装适配Ubuntu 20.04的ROOT版本
你当前装的ROOT是针对更高版本Ubuntu(比如22.04,自带GLIBC 2.34)编译的,自然不兼容20.04。解决方式:
- 下载ROOT官网提供的Ubuntu 20.04专属预编译包,重新安装。
- 或者手动从源码编译ROOT(编译时会自动适配当前系统的GLIBC版本):
- 确认已安装所有依赖(你已经完成这一步)
- 拉取源码并创建编译目录:
git clone https://github.com/root-project/root.git cd root && mkdir build && cd build - 配置编译参数:
cmake .. - 编译并安装:
make -j$(nproc) sudo make install
3. 不推荐:手动升级GLIBC(风险极高)
手动替换系统默认的GLIBC很容易导致系统崩溃,非必要不要尝试。如果一定要试,只能编译GLIBC 2.34后局部调用,绝对不能替换系统的/lib/x86_64-linux-gnu/libc.so.6。
内容的提问来源于stack exchange,提问作者J.Wilson
相关产品推荐
相关产品推荐

