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

*두 번째 편집*

@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

관련 정보