Fedora 35服务器安装Nix时提示GLIBC_2.33 not found报错如何处理
报错原因
/nix/store/sbbifs2ykc05inws26203h0xwcadnf0l-glibc-2.32-46/lib/libc.so.6: version `GLIBC_2.33' not found (required by /usr/local/lib/libsodium.so.23)
该报错属于依赖环境冲突:Nix安装过程默认使用自带沙箱内的glibc 2.32版本,但你存放在/usr/local/lib路径下的libsodium.so.23是基于≥2.33版本的glibc编译生成的,安装过程调用该库时出现版本匹配失败。你系统全局glibc版本为2.34,本身没有异常,仅和Nix安装沙箱的依赖规则冲突。
解决方案
以下方案按操作复杂度从低到高排序,任选其一即可:
- 临时屏蔽本地libsodium完成安装
先将本地libsodium文件备份到临时目录,安装完成后恢复即可,Nix安装完成后自身的沙箱隔离机制不会再和系统本地库产生冲突:# 备份libsodium文件 sudo mkdir -p /opt/temp_sodium_backup sudo mv /usr/local/lib/libsodium* /opt/temp_sodium_backup/ # 此处执行你原来的Nix安装命令,安装完成后执行恢复操作 sudo mv /opt/temp_sodium_backup/* /usr/local/lib/ sudo rm -rf /opt/temp_sodium_backup - 临时修改环境变量跳过本地库加载
无需修改系统文件,仅在当前shell会话生效,执行安装命令前先执行:
再正常执行Nix安装脚本即可。export LD_LIBRARY_PATH="" - 替换本地编译的libsodium为官方源版本
你/usr/local/lib下的libsodium大概率是自行编译安装的版本,直接替换为Fedora官方源适配的版本即可永久解决该冲突:sudo rm -f /usr/local/lib/libsodium* sudo dnf install -y libsodium libsodium-devel
内容的提问来源于stack exchange,提问作者rob
相关产品推荐
相关产品推荐

