Eclipse를 시작할 때 불만족스러운 링크 오류 및 .so 파일 누락


19

어제 12.04 베타 버전으로 업그레이드했습니다. 이제 Eclipse를 시작하려고하면 스플래시 화면이 표시 되고이 오류 메시지가 나타납니다.

An error has occurred. See the log file /home/gabriel/.eclipse/org.eclipse.platform_3.7.0_155965261/configuration/1335382319394.log .

로그 파일은 다음과 같습니다.

java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
    no swt-gtk-3740 in java.library.path
    no swt-gtk in java.library.path
    Can't load library: /home/gabriel/.swt/lib/linux/x86_64/libswt-gtk-3740.so
    Can't load library: /home/gabriel/.swt/lib/linux/x86_64/libswt-gtk.so

더 많은 오류 메시지가옵니다.

/home/gabriel/.swt/lib/linux/x86_64/디렉토리는 존재하지만 비어 있습니다. 나는 성공하지 못한 이클립스 재설치를 시도했다.

어떤 아이디어?


이것은 버그입니다. Launchpad에 로그인하여 다음 사항도 영향을 받음
David Edwards

답변:


19

AMD64 컴퓨터 (Ubuntu 12.04)에서 동일한 문제가 발생했습니다. 해결 방법으로 해결했습니다.

copy : /usr/lib/jni/libswt-*3740.so '3740'이 포함 된 파일 ~ / .swt / lib / linux / x86_64 /

그러나 libswt-gtk-3-java & libswt-gtk-3-jni 패키지 가 설치되어 있는지 확인하십시오.

sudo apt-get install libswt-gtk-3-jni libswt-gtk-3-java

sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86_64/

32 비트 기반 시스템이있는 경우 : sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/


1
와우 이것은 실제로 저에게도 효과적이었습니다 (Intel core i5, 64 비트 우분투 12.04) 고마워요!
vallllll

1
32 비트 시스템에 적합했습니다. 사용 : sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/. 감사하고 답변을 업데이트하십시오.
Binarylife

1
그것은 실제로 나를 위해 작동합니다 (우분투 정확한 64 비트). 복사 대신 소프트 링크를 만들었습니다.
masuch

4

달리기

sudo update-alternatives --config java

그리고 선택 open jdk. 아마도 효과가있을 것입니다.


이것은 효과가 있었지만을 사용하지 않으려 고합니다 openjdk.
Keidax

사실, 걱정하지 마십시오. 그냥 갈 게요
Keidax

1
나는 또한 openjdk를 피하고 싶었으므로 Hanynowsky의 답변을 확인하십시오. 그것은 나를 위해 일했다!
Nick Badal

2

또한 나를 위해 작동합니다. 나는했다 :

cd ~/.swt/lib/linux/x86_64
ln -s /usr/lib/jni/libswt-atk-gtk-3740.so
ln -s /usr/lib/jni/libswt-gtk-3740.so
ln-s /usr/lib/jni/libswt-pi-gtk-3740.so

그래서 ~ / .swt / lib / linux / x86_64 폴더에 3 개의 심볼릭 링크를 만들었습니다.

이제 Eclipse가 잘 작동합니다!


2
echo "-Djava.library.path=/usr/lib/jni" >> /etc/eclipse.ini

나를 위해 고쳤다.


이 솔루션을 좋아하고 모든 사용자를 위해 수정했습니다.
Adam Ness

1

훌륭한 지침에 감사드립니다. 3740 을 모두 선택하도록 다음과 같은 심볼릭 링크를 추가했습니다 .

cd ~/.swt/lib/linux/x86_64

for i in /usr/lib/jni/*3740*.so ; do ln -s $i; done

0

나는 누락 된 라이브러리에 symlinks를 만들었고 모든 것이 잘 작동했습니다. 결국 이처럼 보입니다 ...

    libswt-atk-gtk-3740.so -> /usr/lib/jni/libswt-atk-gtk-3740.so
    libswt-gtk-3740.so -> /usr/lib/jni/libswt-gtk-3740.so
    libswt-pi-gtk-3740.so -> /usr/lib/jni/libswt-pi-gtk-3740.so

작동하는 것 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.