Ubuntu 22.04安装QGIS-LTR版本时出现依赖库缺失错误,无法完成软件配置
问题描述
Setting up qgis-providers (1:3.34.3+36jammy) ...
/usr/lib/qgis/crssync: error while loading shared libraries: libpdal_util.so.13: cannot open shared object file: No such file or directory
dpkg: error processing package qgis-providers (--configure):
installed qgis-providers package post-installation script subprocess returned error exit status 127
dpkg: dependency problems prevent configuration of qgis:
qgis depends on qgis-providers (= 1:3.34.3+36jammy); however:
Package qgis-providers is not configured yet.
dpkg: error processing package qgis (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of qgis-plugin-grass:
qgis-plugin-grass depends on qgis (= 1:3.34.3+36jammy); however:
Package qgis is not configured yet.
dpkg: error processing package qgis-plugin-grass (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python3-qgis:
python3-qgis depends on qgis-providers (= 1:3.34.3+36jammy); however:
Package qgis-providers is not configured yet.
dpkg: error processing package python3-qgis (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because MaxReports is reached already
Errors were encountered while processing:
qgis-providers
qgis
qgis-plugin-grass
python3-qgis
E: Sub-process /usr/bin/dpkg returned an error code (1)
解决方案
这个错误的核心是缺失了PDAL的依赖库libpdal_util.so.13,导致qgis-providers包无法完成配置,进而引发一系列依赖连锁问题。可以按照以下步骤逐步修复:
先尝试修复dpkg的错误状态
首先执行命令让dpkg重新尝试配置未完成的包:sudo dpkg --configure -a如果这一步还是失败,继续往下走。
重新安装PDAL相关依赖库
缺失的libpdal_util.so.13属于libpdal13包,我们重新安装这个包来确保库文件正确存在:sudo apt update sudo apt install --reinstall libpdal13 libpdal-dev检查并修复QGIS源的兼容性
如果上面的命令提示找不到libpdal13包,大概率是你的系统源和QGIS的源版本不匹配。可以先移除旧的QGIS源,再添加官方的LTR源:# 移除旧的QGIS源文件 sudo rm /etc/apt/sources.list.d/qgis*.list # 添加QGIS官方LTR源的GPG密钥 wget -O - https://qgis.org/downloads/qgis-2024.gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/qgis-archive-keyring.gpg > /dev/null # 添加Ubuntu 22.04对应的LTR源 echo "deb [signed-by=/usr/share/keyrings/qgis-archive-keyring.gpg] https://qgis.org/ubuntu-ltr jammy main" | sudo tee /etc/apt/sources.list.d/qgis.list # 更新软件源 sudo apt update重新安装QGIS-LTR相关包
现在重新安装所有相关的QGIS包,确保依赖匹配:sudo apt install --reinstall qgis-ltr qgis-providers python3-qgis qgis-plugin-grass再次确认所有包配置完成
最后再执行一次dpkg配置命令,确保所有包都正确完成配置:sudo dpkg --configure -a
完成这些步骤后,应该就能解决依赖库缺失的问题,成功完成QGIS-LTR的安装配置了。
备注:内容来源于stack exchange,提问作者Maukthik Srivathsan J

