Linux

Debian libpangoft2-1.0.so.0 未定義符號 hb_glib_script_from_script

  • January 4, 2022

我正在安裝一些我每天使用的常用軟體包,比如 i3wm、jq、bat-musl、kitty 等,它們安裝在一個最新的 Debian 中。然後,當我嘗試執行 i3-msg 命令時,收到以下錯誤:

i3-msg: symbol lookup error: /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined symbol: hb_glib_script_from_script

然後,突然間,i3 不再響應,我不得不強制重新啟動系統。之後,電腦不再顯示登錄 GUI 螢幕。相反,它一直向我顯示一個帶有閃爍下劃線游標的黑屏,就像一個空的 tty 永遠。我可以切換到另一個 tty(如 tty2 或 3)並在終端環境中登錄。但是,如果我嘗試返回應該出現登錄名的 tty1,我會返回黑屏,有時系統甚至不允許再次更改 tty,卡在那個黑屏但游標不再閃爍。雖然,即使它像那樣凍結,它也會響應單個關機按鈕點擊作為正常關機事件(非強制)。

經過大量探勘,我嘗試使用以下命令手動執行 gnome-shell,但我總是從 i3 開始得到相同的錯誤:

> dbus-run-session —- gnome-shell —-display-server —-wayland
gnome-shell: symbol lookup error: /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined symbol: hb_glib_script_from_script

該庫具有所需的符號:

> nn -D /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 | grep glib
        U hb_glib_script_from_script
        U hb_glib_script_to_script

我已經嘗試重新安裝庫,但錯誤沒有改變。我不知道如何修復它,如果這個錯誤真的是登錄 GUI 螢幕沒有顯示的原因。

我不想重新安裝整個系統。有人可以幫我嗎?

這是我的系統版本:

> uname-a
Linux pc-name 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+dev10u1 (2020-06-07) x86_64 GNU/Linux
        U hb_glib_script_from_script
        U hb_glib_script_to_script

不是說圖書館符號,而是說圖書館需要符號;代表U“未定義”。(嚴格來說,圖書館有符號,但沒有對應的對象。)

嘗試重新安裝libharfbuzz0b,這是實現符號的庫:

sudo apt install --reinstall libharfbuzz0b

並確保您沒有任何其他版本的libharfbuzz庫,例如./usr/local/lib

引用自:https://unix.stackexchange.com/questions/599152