更新到Ubuntu 19.10之后,源里的Goldendict就会不时的崩溃,让我十分心累。过了这么长时间也一直没有更新,估计在20.04之前是不会更新了。这段时间因为疫情不能出门,正好看看这个问题,这里记录了解决的过程。
查看软件包信息
首先到packages.ubuntu.com查询goldendict,发现在focal (20.04)的源里有更新的版本,很可能解决了这个bug。因此最简单的解决办法就是等待4月份focal发布。
考虑编译安装最新版本
goldendict的readme中给出了编译的方法,不过考虑编译安装速度慢依赖多,而且不好管理,不优先考虑。看这样一个软件需要这么多的依赖:
$ sudo apt-get install git pkg-config build-essential qt5-qmake \
libvorbis-dev zlib1g-dev libhunspell-dev x11proto-record-dev \
qtdeclarative5-dev libxtst-dev liblzo2-dev libbz2-dev \
libao-dev libavutil-dev libavformat-dev libtiff5-dev libeb16-dev \
libqt5webkit5-dev libqt5svg5-dev libqt5x11extras5-dev qttools5-dev \
qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins
跨版本安装
既然编译安装如此麻烦,而focal已经有了更新的版本,能不能提前安装focal的版本呢?理论上是不行的,官方并没有提供这种做法。不过既然无聊,不妨试一试。
1. 修改系统源
修改/etc/apt/sources.list
,将其中的eoan替换为focal,这样便能够安装focal源中的软件。接着刷新apt缓存:
$ sudo apt update
2. 更新goldendict
尝试使用apt单独更新goldendict:
$ sudo apt upgrade goldendict
命令成功执行,更新了goldendict和一些依赖。经检查goldendict被成功安装,并且已经没有了崩溃bug。
3. 将系统源改回来
记得要回退第一步中的修改。除非你准备直接更新到focal预览版:)
总结
虽然这次很圆满的解决了问题,但毕竟不是官方推荐的方法,成功具有不可复制性。如果更新涉及到的底层依赖比较多,一定要考虑到潜在的风险。