You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Arch Linux更新GNOME 45后安装软件遇zstd符号查找错误求助

解决Arch Linux中zstd: undefined symbol: POOL_joinJobs错误

这个错误的核心原因是系统中存在版本不匹配的zstd库——比如非官方仓库(如AUR)的zstd包、自行编译的zstd库覆盖了官方pacman提供的版本,导致二进制文件无法找到正确的符号。以下是针对性的解决步骤:

步骤1:定位冲突的zstd库

执行命令查看zstd二进制依赖的库路径:

ldd $(which zstd)

找到输出中libzstd.so.*对应的路径(例如/usr/lib/libzstd.so.1),再检查该库是否属于官方zstd包:

sudo pacman -Qo /usr/lib/libzstd.so.1

如果输出显示error: No package owns /usr/lib/libzstd.so.1,说明该库是第三方的,直接删除:

sudo rm /usr/lib/libzstd.so.1

步骤2:卸载非官方zstd包

如果你之前安装过AUR的zstd变体(如zstd-git),先彻底卸载:

yay -Rns zstd-git  # 替换为你常用的AUR工具,比如paru

之后重新安装官方zstd包:

sudo pacman -S zstd

步骤3:强制重新安装依赖zstd的所有包

部分系统包可能仍链接到旧的zstd库,需要批量重新安装:

sudo pacman -S $(pacman -Qq --dependency zstd)

如果遇到文件冲突,添加--overwrite '*'参数强制覆盖:

sudo pacman -S --overwrite '*' $(pacman -Qq --dependency zstd)

步骤4:检查并清理LD_LIBRARY_PATH环境变量

如果你的环境中设置了LD_LIBRARY_PATH,可能会优先加载非系统库,执行命令查看:

echo $LD_LIBRARY_PATH

如果输出包含非/usr/lib的路径,临时取消该变量:

unset LD_LIBRARY_PATH

之后再尝试使用pacman/yay安装软件,验证问题是否解决。

步骤5:修复zstd包文件损坏

如果以上步骤无效,检查zstd包的文件完整性:

sudo pacman -Qkk zstd

如果输出显示文件损坏,强制重新安装zstd:

sudo pacman -S --force zstd

内容的提问来源于stack exchange,提问作者Pamungkas Jayuda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 15:13:15