Jedes Mal, wenn ich versuche, Eclipse in Ubuntu 12.04 zu öffnen, wird ein unbefriedigter Linkfehler angezeigt, der nicht geöffnet wird. Ich habe kürzlich das Java JDK und das Android SDK installiert. Könnte dies das Problem sein? Ich habe dieses Tutorial befolgt .
Hier ist die Protokollinfo:
!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)
Ich habe versucht, das ~/.eclipse
Verzeichnis zu deinstallieren, neu zu installieren und zu entfernen, aber es funktioniert immer noch nicht
java
eclipse
ubuntu
unsatisfiedlinkerror
TomRichardson
quelle
quelle
Antworten:
auf meinem Ubuntu 12.04 32 Bit . Ich bearbeite den Befehl zu:
Und unter Ubuntu 12.04 64 Bit versuchen:
quelle
ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/
Gelöst:
Da ich Oracle Java 7 installiert hatte, wurde das Standard-Java in Oracle Java 7 geändert, es musste jedoch das Open JDK sein.
Öffnen Sie zum Reparieren das Terminal und geben Sie ein
Daraufhin wird eine Liste der verschiedenen Java-Typen angezeigt. Wählen Sie einfach das Open JDK.
quelle
Geben Sie einfach den Pfad zu den Bibliotheken an:
quelle
In meinem Fall fehlte mir das
/usr/lib/jni
Verzeichnis vollständig. Behoben vonDanach muss kein Symlink mehr erstellt werden. Eclipse wurde normal gestartet.
quelle
Es sieht so aus, als ob sich die Bibliotheken unter .swt / lib / linux / x86_64 / befinden sollten. Wenn diese nicht vorhanden sind, können Sie diesen Befehl versuchen:
Dadurch sollten die Bibliotheken das gesamte Verzeichnis nach /home/tom/.swt/lib/linux/x86_64 kopieren
quelle
Ich stimme Scott zu, was er aufgelistet hat, hat funktioniert. Es funktionierte jedoch nicht, es nur aus einem beliebigen Verzeichnis auszuführen. Ich musste in die Dateien / home / * /.swt/lib/linux/x86_64/ 0 cd
Verzeichnis zuerst und führen Sie dann den Link-Befehl aus:
Für 32 Bit:
Und unter Ubuntu 12.04 64 Bit:
quelle
Auf redhat7:
hat den Job gemacht, wegen einer SWT-Abhängigkeit.
hier gefunden
quelle
Wenn Sie Eclipse mit Oracle Java starten, kann Eclipse möglicherweise keine nativen Bibliotheken wie SWT- oder SVN-Bibliotheken finden. Die SWT-JNI-Bibliotheken befinden sich in / usr / lib / jni / und die SVN-JNI-Bibliotheken in / usr / lib / x86_64-linux-gnu / jni /.
Anstatt Eclipse mit dem Befehl zu starten
Sie können den Befehl verwenden
um die Umgebungsvariable LD_LIBRARY_PATH an Eclipse zu übergeben. Eclipse findet die nativen Bibliotheken und wird ordnungsgemäß ausgeführt.
quelle
Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0 WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.eclipse.osgi.internal.baseadaptor.BaseStorage (file:/usr/lib/eclipse/plugins/org.eclipse.osgi_3.8.1.dist.jar) to method java.net.URLClassLoader.addURL(java.net.URL) WARNING: Please consider reporting this to the maintainers of org.eclipse.osgi.internal.baseadaptor.BaseStorage
Wie kann ich ihn lösen?Ich bin auf diesen Fehler gestoßen, als ich versucht habe, den 32-Bit-Build von Eclipse unter 64-Bit-Linux zu starten. Das Problem wurde nach der Installation des ia32-libs-Pakets behoben.
quelle
Stellen Sie sicher, dass Ihre Home-Partition mit ausführbaren Berechtigungen bereitgestellt ist. Dies ist die Standardeinstellung. Wenn Sie sie jedoch ohne die Option exec bereitstellen, wird dieser Fehler angezeigt.
quelle
Eine möglicherweise allgemeinere Methode ist:
quelle
Ich habe das JDK 32-Bit installiert, da ich die Fehler erhalte. Nach der Installation von JDK 64-Bit http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html jdk-8u131-linux-x64.tar.gz (bitte die 64-Version herunterladen) und herunterladen 64 Bit "eclipse-inst-linux64.tar.gz".
quelle
Für Windows Subsystem für Linux (WSL) benötigen Sie
Wenn Sie kein OpenJDK 8 haben, benötigen Sie auch
quelle