解决Manjaro / Arch环境下 蚂蚁笔记 启动报错 Harfbuzz version too old 1.2.1

问题
系统: Manjaro Linux
版本: 18.1.14
内核: 5.3.15
软件: Leanote Desktop Linux x64 v2.6.2
主要问题是蚂蚁笔记在Manjaro中正常安装后,启动时会报错,内容如下
# 启动蚂蚁笔记
./Leanote
# 报错信息
(Leanote:17490): Pango-ERROR **: 10:24:00.000: Harfbuzz version too old (1.2.1)
zsh: trace trap (core dumped) ./Leanote
这里面的重点就是这句
Harfbuzz version too old (1.2.1)
我的理解就是
系统内置的依赖版本太高,蚂蚁笔记开发的时候依赖的是旧版本,互相不能兼容。导致启动报错。
解决
查阅大量资料,最终发现在leanote的github的issue中已经有大神给出了解决方案,地址如下:
https://github.com/leanote/leanote.com-issue/issues/144#issuecomment-541515846
简单来说
第一步,去下载3个需要的rpm包
在这个网站可以搜索关键字来找
http://rpmfind.net/linux/rpm2html/search.php?query=harfbuzz
3个包分别是
harfbuzz-icu-1.8.7-1.fc29.x86_64.rpm
harfbuzz-1.8.7-1.fc29.x86_64.rpm
pango-1.42.4-1.fc29.x86_64.rpm
新建一个lib文件夹
之前下载的3个rpm包分别解压缩
把解压出来的文件夹lib64中的所有内容
复制到刚才新建的lib文件夹中
最终效果是这样的
lib
├── girepository-1.0
│ ├── Pango-1.0.typelib
│ ├── PangoCairo-1.0.typelib
│ ├── PangoFT2-1.0.typelib
│ └── PangoXft-1.0.typelib
├── libharfbuzz-icu.so.0 -> libharfbuzz-icu.so.0.10800.7
├── libharfbuzz-icu.so.0.10800.7
├── libharfbuzz.so.0 -> libharfbuzz.so.0.10800.7
├── libharfbuzz.so.0.10800.7
├── libharfbuzz-subset.so.0 -> libharfbuzz-subset.so.0.10800.7
├── libharfbuzz-subset.so.0.10800.7
├── libpango-1.0.so.0 -> libpango-1.0.so.0.4200.3
├── libpango-1.0.so.0.4200.3
├── libpangocairo-1.0.so.0 -> libpangocairo-1.0.so.0.4200.3
├── libpangocairo-1.0.so.0.4200.3
├── libpangoft2-1.0.so.0 -> libpangoft2-1.0.so.0.4200.3
├── libpangoft2-1.0.so.0.4200.3
├── libpangoxft-1.0.so.0 -> libpangoxft-1.0.so.0.4200.3
└── libpangoxft-1.0.so.0.4200.3
我这里直接把lib整理到百度云了,也可以直接下载我整理好的lib.zip使用
链接: https://pan.baidu.com/s/1PsQqbFNKj0kJIeJjiEZPNw 提取码: 1234
然后把这个lib文件夹放置到Leanote程序的根目录就可以了,例如pacman安装的话,默认位置是 /opt/leanote/
,那lib就放在/opt/leanote/lib
亲测放置后,蚂蚁笔记就直接从lib中读取依赖,既不影响系统,也正常使用,完美解决!
评论