programing

Eclipse에서 SWT 라이브러리를 로드할 수 없음

prostudy 2022. 4. 24. 09:34
반응형

Eclipse에서 SWT 라이브러리를 로드할 수 없음

Ubuntu 12.04에서 Eclipse를 열려고 할 때마다 Unsenced Link Error가 발생하는데 열리지 않는다.최근에 Java JDK와 Android SDK를 설치했는데, 이게 문제일까?는 이 튜토리얼을 따라 했다.

로그 정보:

!SESSION 2012-04-15 21:05:46.902 -----------------------------------------------
eclipse.buildId=I20110613-1736
java.version=1.7.0
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_GB
Command-line arguments:  -os linux -ws gtk -arch x86_64

!ENTRY org.eclipse.osgi 4 0 2012-04-15 21:05:47.885
!MESSAGE Application error
!STACK 1
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/tom/.swt/lib/linux/x86_64/libswt-gtk-3740.so
Can't load library: /home/tom/.swt/lib/linux/x86_64/libswt-gtk.so

at org.eclipse.swt.internal.Library.loadLibrary(Library.java:285)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:194)
at org.eclipse.swt.internal.C.<clinit>(C.java:21)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:132)
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:695)
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:153)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:95)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

제거 및 재설치 및 제거 작업을 수행해 보았다.~/.eclipse디렉토리가 있지만 여전히 작동하지 않음

우분투 12.04 32비트.명령을 편집하여 다음 작업을 수행하십시오.

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/

Ubuntu 12.04 64비트에서 다음을 시도해 보십시오.

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/

해결됨:

Oracle Java 7을 설치했기 때문에 기본 Java를 Oracle Java 7로 변경했지만 Open JDK가 필요했다.

수정하려면 터미널을 열고 입력하십시오.

sudo update-alternatives --config java

이것은 다른 종류의 자바 목록을 보여준다.JDK 열기를 선택하십시오.

라이브러리의 경로를 지정하십시오.

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

내 경우, 나는 그 일을 놓치고 있었다./usr/lib/jni전부 명부에 기입하다고정자

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

나중에 symlink할 필요 없음.이클립스는 정상적으로 시작되었다.

WSL(Windows Subsystem for Linux)의 경우

apt install libswt-gtk-4-jni

OpenJDK 8이 없는 경우에도

apt install openjdk-8-jdk
라이브러리를 로드할 수 없음: /home/tom/.swt/lib/lib/x86_64/libswt-gtk-3740.so라이브러리를 로드할 수 없음: /home/tom/.swt/lib/리눅스/x86_64/libswt-gtk그렇게

라이브러리가 .swt/lib/lib/lib/x86_64/ 없을 경우 다음 명령을 사용해 보십시오.

libswt-gtk를 찾으십시오.그렇게

라이브러리가 전체 디렉토리를 /home/tom/.swt/lib/lib/x86_64에 복사해야 함

나는 스콧의 말에 동의한다. 그가 열거한 것이 효과가 있었다.그러나 어떤 디렉토리에서만 실행해도 소용이 없었다./home/*/.swt/lib/linux/x86_64/ 0 파일에 CD를 넣어야 했다.

먼저 디렉터리를 지정한 다음 링크 명령을 실행하십시오.

32비트의 경우:

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/

Ubuntu 12.04 64비트에서는

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/

Redhat7:

yum install gtk2 libXtst xorg-x11-fonts-Type1

그 일을 해냈어, 의존성 때문에.

여기서 발견됨

오라클 Java를 사용하여 월식을 시작하면 일식이 SWT 또는 SVN 라이브러리와 같은 네이티브 라이브러리를 찾지 못할 수 있다.SWT-JNI 라이브러리는 /usr/lib/jni/에 위치하며 SVN-JNI 라이브러리는 /usr/lib/x86_64-리눅스-gnu/jni/에 위치한다.

명령으로 일식을 시작하는 대신

eclipse

명령어를 사용할 수 있다.

env LD_LIBRARY_PATH=/usr/lib/jni/:/usr/lib/x86_64-linux-gnu/jni/:$LD_LIBRARY_PATH eclipse

환경변수 LD_LIBRARY_PATH를 일식으로 전달한다.이클립스는 원주민 도서관을 찾아 제대로 운영될 것이다.

64비트 Linux에서 32비트 Eclipse 빌드를 시작하려고 할 때 이 오류가 발생했어.문제는 ia32-libs 패키지를 설치한 뒤 해결됐다.

나는 데비안 리눅스 amd64를 하고 있다.나는 오라클의 자바 다운로드 페이지에서 오라클의 Java 11을 설치했다.eclipse.org에서 일식 설치.실행 일식은 "로드할 수 없는 swt" 오류를 발생시켰다.나는 아토라스의 충고를 따라 했다.apt install libswt-gtk-4-jni(그것은 또한 많은 다른 것들을 설치했다) 그리고 그 일식이 시작된 후에.비록 그것이 시작되었지만 나는 다음과 같은 오류/경고를 받았다.

org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized.  Will retry after the state location is initialized.
SWT SessionManagerDBus: Failed to connect to org.gnome.SessionManager: Failed to execute child process “dbus-launch” (No such file or directory)
SWT SessionManagerDBus: Failed to connect to org.xfce.SessionManager: Failed to execute child process “dbus-launch” (No such file or directory)
org.eclipse.m2e.logback.configuration: Logback config file: /home/rusty/eclipse-workspace/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.16.0.20200318-1040.xml
org.eclipse.m2e.logback.configuration: Initializing logback
SWT Webkit: Warning, You are using an old version of webkitgtk. (pre 2.4) BrowserFunction functionality will not be avaliable
SWT WebKit: error initializing DBus server, dBusServer == 0
SWT.CHROMIUM style was used but chromium.swt gtk (or CEF binaries) fragment/jar is missing.

나는 그 모든 것이 아니더라도 대부분의 것을 무시할 수 있다고 생각한다.윈도우 pc에서 mobaXterm을 사용하여 리눅스 박스에 ssh를 하고 있어서, 내 pc에 mobaXterm을 표시한다.내 리눅스 박스는 머리가 없다.

홈 파티션이 실행 가능한 사용 권한으로 마운트되었는지 확인하십시오.기본 설정이지만 실행 옵션 없이 마운트할 경우 이 오류가 발생할 수 있다.

보다 일반적인 방법은 다음과 같다.

  • openjdk의 비헤드 버전을 설치한다.
  • 일식을 설치, 실행 및 닫다
  • openjdk를 제거하다.
  • Oracle의 JDK 설치

JDK 32비트를 설치했는데 그 때문에 오류가 생겼다.JDK 64비트 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html jdk-8u131-filename-x64.tar.gz(64 버전을 다운로드하십시오)를 설치하고 64비트 "inst-inst-64.tar.gz"를 다운로드하십시오.

참조URL: https://stackoverflow.com/questions/10165693/eclipse-cannot-load-swt-libraries

반응형