Problema com libx11.so.6: símbolo indefinido: xcb_wait_for_reply64

2

Eu tenho um problema com um sistema de arch de um dia de idade. Eu acidentalmente movi /usr/lib/libX11.so.6 de /usr/lib e depois coloquei de volta. Mas agora não consigo iniciar o Android Studio por causa disso:

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

Eu tentei:

  • Reinstalando / recompilando libxcb e libX11
  • Alternando entre o JDK e o OpenJDK do Oracle
  • AS reinstalado

Nada funciona. Permissões e propriedade também são boas para mim:

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

Estou correndo

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

Quaisquer sugestões sobre como resolver isso? Muito obrigado!

* EDIT *

O problema não é específico para java, já que o genymotion não pode ser lançado:

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

* 2ª EDIT *

Seguido @ n.st conselho:

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)
    
por Chisko 16.10.2016 / 20:50

2 respostas

2

Eu tive esse problema com genymotion .
Basta navegar para o diretório do genymotion ( cd /opt/genymotion ) e fazer.

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

Se isso não resolver o seu problema,

sudo mv libxcb.so.1.back libxcb.so.1
    
por 19.10.2016 / 10:53
0

Parece que /opt/genymotion está no seu $LD_LIBRARY_PATH e que as versões fornecidas não são compatíveis com as bibliotecas instaladas no seu sistema.

Em vez de mover todos os arquivos desse diretório, você deve tentar outros programas como java ou xterm sem o LD_LIBRARY_PATH . Você pode tentar com unset LD_LIBRARY_PATH , ele estará de volta após o seu próximo login. Se isso ajudar, você poderá descobrir onde está definido e removê-lo permanentemente.

O programa genymotion provavelmente tem o problema inverso, faltando o libX11.so.6 in /opt/genymotion . Também é possível que, ao restaurar /opt/genymotion/libX11.so.6 , seus outros programas funcionem novamente, pois é principalmente importante que as várias bibliotecas X correspondam.

    
por 26.09.2018 / 08:11