2020年6月4日 星期四

How I fix the "Inconsistency detected by ld.so" issue?


當我要聽歌的時候,從選單中執行了rhythmbox,沒反應...
開了一個terminal,執行rhythmbox,出現錯誤訊息
當時不以為意,直接安裝了另外一套軟體來聽

當我要執行Winetricks時,同樣沒反應
開了一個Terminal,執行Winetricks,結果出現了類似訊息...

mosquito@mosquito-UX31LA ~ $ rhythmbox
Inconsistency detected by ld.so: ../sysdeps/x86_64/dl-machine.h: 519: elf_machine_rela_relative: Assertion `ELFW(R_TYPE) (reloc->r_info) == R_X86_64_RELATIVE' failed!
mosquito@mosquito-UX31LA ~ $ winetricks
------------------------------------------------------
You are using a 64-bit WINEPREFIX. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Inconsistency detected by ld.so: ../sysdeps/x86_64/dl-machine.h: 519: elf_machine_rela_relative: Assertion `ELFW(R_TYPE) (reloc->r_info) == R_X86_64_RELATIVE' failed!
mosquito@mosquito-UX31LA ~ $

這樣哪天要做啥沒法弄的時候就很尷尬了

首先參考了StackOverflow這篇
https://stackoverflow.com/questions/22564780/debugging-ld-inconsistency-detected-by-ld-so
但設定LD_DEBUG=ALL,沒有提供我更多有效的資訊

執行strace Winetricks,噴了很多Log出來,但也沒具體點出是哪裡出問題

從Inconsistency判斷,懷疑是不是檔案系統有問題
執行了一次fsck -y,確實有修正部份問題
但開機後重新執行了一次還是出現Inconsistency detected by ld.so

最後改執行LD_DEBUG=reloc winetricks
10349: relocation processing: /usr/lib/x86_64-linux-gnu/libnotify.so.4 (lazy)
10349:
10349: relocation processing: /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
Inconsistency detected by ld.so: ../sysdeps/x86_64/dl-machine.h: 519: elf_machine_rela_relative: Assertion `ELFW(R_TYPE) (reloc->r_info) == R_X86_64_RELATIVE' failed!
10350:
10350: relocation processing: /lib/x86_64-linux-gnu/libc.so.6 (lazy)

這次看到,出現Inconsistency detected by ld.so之前正在讀取的Library是libwebkit2gtk-4.0.so.37

重新安裝這個Library
sudo apt-get --reinstall install libwebkit2gtk-4.0-37
重新安裝完成後,再執行了一次Winetricks

It's work!!!
留個紀錄,第一次碰到這個問題...

沒有留言:

張貼留言

How to disable GUI on armbian (revert the Desktop to server)

Check which Display manager that you're using currently cat /etc/X11/default-display-manager nodm should be default if you're choose...