问题


系统: Manjaro Linux
版本: 18.1.14
内核: 5.3.15
软件: Leanote Desktop Linux x64 v2.6.2


主要问题是蚂蚁笔记在Manjaro中正常安装后,启动时会报错,内容如下


  1. # 启动蚂蚁笔记
  2. ./Leanote
  3. # 报错信息
  4. (Leanote:17490): Pango-ERROR **: 10:24:00.000: Harfbuzz version too old (1.2.1)
  5. 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文件夹中

最终效果是这样的

  1. lib
  2. ├── girepository-1.0
  3. ├── Pango-1.0.typelib
  4. ├── PangoCairo-1.0.typelib
  5. ├── PangoFT2-1.0.typelib
  6. └── PangoXft-1.0.typelib
  7. ├── libharfbuzz-icu.so.0 -> libharfbuzz-icu.so.0.10800.7
  8. ├── libharfbuzz-icu.so.0.10800.7
  9. ├── libharfbuzz.so.0 -> libharfbuzz.so.0.10800.7
  10. ├── libharfbuzz.so.0.10800.7
  11. ├── libharfbuzz-subset.so.0 -> libharfbuzz-subset.so.0.10800.7
  12. ├── libharfbuzz-subset.so.0.10800.7
  13. ├── libpango-1.0.so.0 -> libpango-1.0.so.0.4200.3
  14. ├── libpango-1.0.so.0.4200.3
  15. ├── libpangocairo-1.0.so.0 -> libpangocairo-1.0.so.0.4200.3
  16. ├── libpangocairo-1.0.so.0.4200.3
  17. ├── libpangoft2-1.0.so.0 -> libpangoft2-1.0.so.0.4200.3
  18. ├── libpangoft2-1.0.so.0.4200.3
  19. ├── libpangoxft-1.0.so.0 -> libpangoxft-1.0.so.0.4200.3
  20. └── 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中读取依赖,既不影响系统,也正常使用,完美解决!


END