libx11.so.6 関連問題: 未定義シンボル: xcb_wait_for_reply64

libx11.so.6 関連問題: 未定義シンボル: xcb_wait_for_reply64

昨日からアーチシステムについて質問があります。/usr/lib/libX11.so.6誤って取り出して/usr/lib再び入れました。しかし、今は次の理由でAndroid Studioを起動できません。

/usr/lib/jvm/java-8-jdk/bin/java: symbol lookup error: /usr/lib/libX11.so.6: undefined symbol: xcb_wait_for_reply64

私は試した:

  • libxcbとlibX11の再インストール/再コンパイル
  • Oracle JDKとOpenJDKの切り替え
  • ASの再インストール

何も動作しません。権限と所有権も私にとってうまくいきます。

me@laptop ~ % ls -ld /usr/lib/libX11*
lrwxrwxrwx 1 root root      19 Oct  5 00:24 /usr/lib/libX11-xcb.so -> libX11-xcb.so.1.0.0
lrwxrwxrwx 1 root root      19 Oct  5 00:24 /usr/lib/libX11-xcb.so.1 -> libX11-xcb.so.1.0.0
-rwxr-xr-x 1 root root    5968 Oct  5 00:24 /usr/lib/libX11-xcb.so.1.0.0
lrwxrwxrwx 1 root root      15 Oct  5 00:24 /usr/lib/libX11.so -> libX11.so.6.3.0
lrwxrwxrwx 1 root root      15 Oct  5 00:24 /usr/lib/libX11.so.6 -> libX11.so.6.3.0
-rwxr-xr-x 1 root root 1306096 Oct  5 00:24 /usr/lib/libX11.so.6.3.0 

me@laptop ~ % ls -ld /usr/lib/libx*
lrwxrwxrwx 1 root root       14 Oct  2 09:27 /usr/lib/libx264.so -> libx264.so.148
-rwxr-xr-x 1 root root  1027856 Oct  2 09:27 /usr/lib/libx264.so.148
lrwxrwxrwx 1 root root       13 Sep 29 09:09 /usr/lib/libx265.so -> libx265.so.95
-rwxr-xr-x 1 root root 14953136 Sep 29 09:09 /usr/lib/libx265.so.95
lrwxrwxrwx 1 root root       21 Oct  7 04:01 /usr/lib/libxatracker.so -> libxatracker.so.2.3.0
lrwxrwxrwx 1 root root       21 Oct  7 04:01 /usr/lib/libxatracker.so.2 -> libxatracker.so.2.3.0
-rwxr-xr-x 1 root root  3305176 Oct  7 04:01 /usr/lib/libxatracker.so.2.3.0
lrwxrwxrwx 1 root root       25 May 22 13:44 /usr/lib/libxcb-composite.so -> libxcb-composite.so.0.0.0
lrwxrwxrwx 1 root root       25 May 22 13:44 /usr/lib/libxcb-composite.so.0 -> libxcb-composite.so.0.0.0
-rwxr-xr-x 1 root root    10336 May 22 13:44 /usr/lib/libxcb-composite.so.0.0.0
lrwxrwxrwx 1 root root       22 May 22 13:44 /usr/lib/libxcb-damage.so -> libxcb-damage.so.0.0.0
lrwxrwxrwx 1 root root       22 May 22 13:44 /usr/lib/libxcb-damage.so.0 -> libxcb-damage.so.0.0.0
-rwxr-xr-x 1 root root    10336 May 22 13:44 /usr/lib/libxcb-damage.so.0.0.0

私は走っている

me@laptop ~ % uname -a
Linux laptop 4.7.6-1-ARCH #1 SMP PREEMPT Fri Sep 30 19:28:42 CEST 2016 x86_64 GNU/Linux

この問題を解決する方法についてのアドバイスはありますか?とても感謝しています!

*編集する*

genymotionも起動しないため、問題はJavaに限定されません。

me@laptop ~ % genymotion
genymotion: symbol lookup error: /usr/lib/libX11.so.6: undefined symbol: xcb_wait_for_reply64

*2番目の編集*

@n.stの提案によると:

me@laptop ~ % ldd $(which genymotion) | grep libX11                                                                 
    libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fc3520d5000)
    libX11-xcb.so.1 => /opt/genymotion/libX11-xcb.so.1 (0x00007fc34e201000)
me@laptop ~ % sudo mv /opt/genymotion/libX11-xcb.so.1 .                                                             
[sudo] password for me: 
me@laptop ~ % genymotion
genymotion: symbol lookup error: /usr/lib/libX11.so.6: undefined symbol: xcb_wait_for_reply64
127 me@laptop ~ % ldd $(which genymotion) | grep libX11                                                               
    libX11.so.6 => /usr/lib/libX11.so.6 (0x00007feb0712d000)
    libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007feb03259000)
me@laptop ~ % ldd $(which genymotion) | grep libxcb
    libxcb-dri3.so.0 => /opt/genymotion/libxcb-dri3.so.0 (0x00007f5f354e1000)
    libxcb-present.so.0 => /opt/genymotion/libxcb-present.so.0 (0x00007f5f352de000)
    libxcb-sync.so.1 => /opt/genymotion/libxcb-sync.so.1 (0x00007f5f350d8000)
    libxcb.so.1 => /opt/genymotion/libxcb.so.1 (0x00007f5f34270000)
    libxcb-glx.so.0 => /opt/genymotion/libxcb-glx.so.0 (0x00007f5f34059000)
    libxcb-dri2.so.0 => /opt/genymotion/libxcb-dri2.so.0 (0x00007f5f33e54000)

答え1

この問題が発生しましたgenymotion
genymotionディレクトリ(cd /opt/genymotion)に移動して実行します。

sudo mv libxcb.so.1 libxcb.so.1.back 

それでも問題が解決しない場合

sudo mv libxcb.so.1.back libxcb.so.1

答え2

/opt/genymotionビルドに提供されているバージョンが$LD_LIBRARY_PATHシステムにインストールされているライブラリと互換性がないようです。

付属していないjavaやxtermなどの他のプログラムを試してみてください。LD_LIBRARY_PATH次のunset LD_LIBRARY_PATHログイン後に復元されます。役に立つ場合は、設定した場所を見つけて永久に削除できます。

プログラムにgenymotion反対の問題がある可能性がありますlibX11.so.6。さまざまなXライブラリが一致することが重要であるため、復元すると/opt/genymotion他のプログラムが再実行される可能性があります。/opt/genymotion/libX11.so.6

関連情報