系統信息
⚡ root@F0rGeEk ~ lsb_release -a
No LSB modules are available.
Distributor ID: Kali
Description: Kali GNU/Linux Rolling
Release: 2020.2
Codename: kali-rolling
問題描述
通過apt-get upgrade更新系統后,XMind無法正常使用。點擊圖標之后沒反映,通過命令啟動XMind,發現如下報錯信息:
(在Linux中安裝破解XMind可以參考https://www.cnblogs.com/4geek/p/11413865.html)
⚡ root@F0rGeEk ~ XMind
(XMind:121839): Pango-ERROR **: 10:34:05.538: Harfbuzz version too old (1.4.2)
[1] 121839 trace trap XMind
看見以上報錯信息其中重點為:Harfbuzz version too old,主要是由於本地系統的更新,導致XMind運行所需的部分依賴包也會隨之更新。而XMind開發時使用的依賴包可能是低版本,現在系統中該包已經是高版本,所以導致軟件運行的依賴環境出問題。為了驗證是不是由於這個原因,我們通過**apt policy libpango-1.0-0 **命令查看,由此判斷確實本地版本高於1.4.2。
⚡ root@F0rGeEk ~ apt policy libpango-1.0-0
libpango-1.0-0:
Installed: 1.44.7-4
Candidate: 1.44.7-4
Version table:
*** 1.44.7-4 500
解決過程
查閱了大量的資料后,主要解決方案就是更新XMind或者重新構建一個XMind的依賴環境。更新XMind的話我懶得試,因為不知道開發者是否使用新版本的Pango進行編寫。如果依然使用舊版本的話那么運行還會報同樣的錯,所以就只能重構一個XMind的依賴環境。
總結一下就是:第一步,去下載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文件夾放在XMind的安裝目錄即可,最終效果如下:
⚡ root@F0rGeEk /opt/XMind ZEN/lib pwd
/opt/XMind ZEN/lib
⚡ root@F0rGeEk /opt/XMind ZEN/lib tree
.
├── 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.so.0
├── libharfbuzz.so.0.10800.7
├── libharfbuzz-subset.so.0
├── libharfbuzz-subset.so.0.10800.7
├── libpango-1.0.so.0
├── libpango-1.0.so.0.4200.3
├── libpangocairo-1.0.so.0
├── libpangocairo-1.0.so.0.4200.3
├── libpangoft2-1.0.so.0
├── libpangoft2-1.0.so.0.4200.3
├── libpangoxft-1.0.so.0
└── libpangoxft-1.0.so.0.4200.3
1 directory, 18 files
這里為了方便,我將lib的文件夾壓縮並共享。懶得自己解壓創建文件夾的同學,直接下載我分享的這個解壓放在相關軟件的安裝目錄即可。下載鏈接: 百度網盤 提取碼: hx54
總結
在尋找該問題解決方法的過程中,可以發現有很多軟件都有類似的問題。所以這里整理了一下過程並記錄下來給踩到坑的你提供參考,這個方法能解決所有因為系統更新導致報相同錯誤的軟件使用,不僅僅是本文提到的XMind。還是那句話遇到報錯不要慌😂😂😂