org.qgis.qgis.ltr-3.40.6.1-deepin25-all.zip(135MB)
之前已经使用 ll-killer-go,从 QGIS官方仓库的迁移了如意玲珑版本的 QGIS-LTR与 QGIS-Stable。
ll-killer-go
QGIS
QGIS-LTR
QGIS-Stable
经过一段时间的使用,遇到了如下几个问题:
1.偶尔闪退:在做一些比较复杂的操作时,偶尔闪退,而且在终端没有看到报错信息。
2.文件浏览控件样式问题:玲珑环境与 distrobox环境中都只能调用默认的 qt文件浏览器样式,而原生安装的可以调用 dde的文件管理器,非常美观。
distrobox
qt
dde
3.安装包体积:由于玲珑包需要完整打包,所以制作出来大约在1.2GB左右(与Windows版本的体积相当),在深度商店这种网络条件比较好的环境,下载安装仍然需要5~6分钟时间。而原生编译的deb包,合计也只有400MB左右。不过算上系统中自动安装的依赖,QGIS的deb安装之后总体程序体积也会比较大。
只是相比之下,deb安装包的体积会相对比较小。
所以,由此,就尝试用源码包编译 QGIS-LTR。
经过几次的失败,厘清了 deepin25、Ubuntu noble、Debian Trixie的包环境的差异之后,选取了相对合适的软件版本组合,就制作成功了。
deepin25
Ubuntu noble
Debian Trixie
难点总结:
1.deepin25使用 sip6,弃用了 sip4,这与 Debian Trixe相同,所以应该使用 Trixie版本的QGIS源码包。
sip6
sip4
Debian Trixe
Trixie
2.python3-owslib在 Trixie中的版本过高,在 deepin25环境中编译,额外需要编译的依赖包比较多。因此,选择 ubuntu noble使用的 python3-owslib_0.29.3-1版本,这样就省事很多。
python3-owslib
ubuntu noble
python3-owslib_0.29.3-1
3.python3-dateutil包,deepin25仓库中的版本是 python3-dateutil 2.8.1,QGIS启动时会出现如下弃用警告,需要使用 Trixie仓库的 python3-dateutil_2.9.0-4来编译并升级。
python3-dateutil
python3-dateutil 2.8.1
python3-dateutil_2.9.0-4
warning:/usr/lib/python3/dist-packages/dateutil/tz/tz.py:37: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated...
4.qtkeychain-qt5-dev:在 deepin25中预装的是 qtkeychain 0.12版本,并没有 qtkeychain-qt5-dev这个包,通过查看包文件,发现实际上 deepin25仓库中的 qt5keychain-dev 0.12似乎也满足编译要求,无非是版本低了一点。通过构造一个依赖 qt5keychain-dev 0.12的虚包 qtkeychain-qt5-dev_dummy_0.12.0-1_all.deb,似乎也能奏效。
qtkeychain-qt5-dev
qtkeychain 0.12
qt5keychain-dev 0.12
qtkeychain-qt5-dev_dummy_0.12.0-1_all.deb
5.其他的依赖,使用Trixie的源码包编译即可。
6.在解决所有需要的依赖之后,最后编译 qgis。
qgis
总的原则是,尽量多地使用deepin25仓库中的现有依赖包,尽量少地编译及引入外部的包;编译的时候,尽量不要改动Trixie源码包的编译参数。
deepin25环境中,需要从源码构建的组件列表如下:
强....
Popular Ranking
Popular Events
org.qgis.qgis.ltr-3.40.6.1-deepin25-all.zip(135MB)
之前已经使用
ll-killer-go
,从QGIS
官方仓库的迁移了如意玲珑版本的QGIS-LTR
与QGIS-Stable
。经过一段时间的使用,遇到了如下几个问题:
1.偶尔闪退:在做一些比较复杂的操作时,偶尔闪退,而且在终端没有看到报错信息。
2.文件浏览控件样式问题:玲珑环境与
distrobox
环境中都只能调用默认的qt
文件浏览器样式,而原生安装的可以调用dde
的文件管理器,非常美观。3.安装包体积:由于玲珑包需要完整打包,所以制作出来大约在1.2GB左右(与Windows版本的体积相当),在深度商店这种网络条件比较好的环境,下载安装仍然需要5~6分钟时间。而原生编译的deb包,合计也只有400MB左右。不过算上系统中自动安装的依赖,
QGIS
的deb安装之后总体程序体积也会比较大。只是相比之下,deb安装包的体积会相对比较小。
所以,由此,就尝试用源码包编译
QGIS-LTR
。经过几次的失败,厘清了
deepin25
、Ubuntu noble
、Debian Trixie
的包环境的差异之后,选取了相对合适的软件版本组合,就制作成功了。难点总结:
1.
deepin25
使用sip6
,弃用了sip4
,这与Debian Trixe
相同,所以应该使用Trixie
版本的QGIS源码包。2.
python3-owslib
在Trixie
中的版本过高,在deepin25
环境中编译,额外需要编译的依赖包比较多。因此,选择ubuntu noble
使用的python3-owslib_0.29.3-1
版本,这样就省事很多。3.
python3-dateutil
包,deepin25
仓库中的版本是python3-dateutil 2.8.1
,QGIS
启动时会出现如下弃用警告,需要使用Trixie
仓库的python3-dateutil_2.9.0-4
来编译并升级。4.
qtkeychain-qt5-dev
:在deepin25
中预装的是qtkeychain 0.12
版本,并没有qtkeychain-qt5-dev
这个包,通过查看包文件,发现实际上deepin25
仓库中的qt5keychain-dev 0.12
似乎也满足编译要求,无非是版本低了一点。通过构造一个依赖qt5keychain-dev 0.12
的虚包qtkeychain-qt5-dev_dummy_0.12.0-1_all.deb
,似乎也能奏效。5.其他的依赖,使用Trixie的源码包编译即可。
6.在解决所有需要的依赖之后,最后编译
qgis
。总的原则是,尽量多地使用deepin25仓库中的现有依赖包,尽量少地编译及引入外部的包;编译的时候,尽量不要改动Trixie源码包的编译参数。
deepin25
环境中,需要从源码构建的组件列表如下: