Eclipse non può caricare librerie SWT

Ogni volta che provo ad aprire Eclipse in Ubuntu 12.04, ottengo un errore di collegamento non soddisfatto e non si apre. Ho recentemente installato java JDK e Android SDK, potrebbe essere questo il problema? Ho seguito questo tutorial .

Ecco le informazioni del registro:

!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.(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.(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) 

Ho provato a disinstallare e reinstallare e rimuovere la directory ~/.eclipse ma non funziona ancora

sulla mia Ubuntu 12.04 32 bit . Modifico il comando per:

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

E su Ubuntu 12.04 64 bit prova:

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

Risolto:

Poiché avevo installato Oracle Java 7, avevo cambiato il Java predefinito in Oracle Java 7, tuttavia doveva essere Open JDK.

Per risolvere, aprire il terminale e digitare

 sudo update-alternatives --config java 

Questo fa apparire una lista dei diversi tipi di Java. Basta selezionare Open JDK.

Basta specificare il percorso delle librerie:

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

Nel mio caso, mi mancava completamente la /usr/lib/jni . Risolto da

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

Non c’è bisogno di link simbolici in seguito. Eclipse è iniziato normalmente.

 Imansible caricare la libreria: /home/tom/.swt/lib/linux/x86_64/libswt-gtk-3740.so
 Imansible caricare la libreria: /home/tom/.swt/lib/linux/x86_64/libswt-gtk.so

sembra che le librerie dovrebbero essere in .swt / lib / linux / x86_64 / se non ci sono, puoi provare questo comando:

  trova libswt-gtk.so 

questo dovrebbe trovare le librerie copia l’intera directory in /home/tom/.swt/lib/linux/x86_64

Sono d’accordo con Scott, quello che ha elencato ha funzionato. Tuttavia, l’esecuzione da qualsiasi directory non ha funzionato. Ho dovuto effettuare il cd nei file / home / * /.swt/lib/linux/x86_64/ 0

prima la directory e poi esegui il comando link:

Per 32 bit:

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

E su Ubuntu 12.04 64 bit:

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

Se si avvia eclipse utilizzando oracle java, eclipse potrebbe non riuscire a trovare librerie native come librerie SWT o SVN. Le librerie SWT-JNI si trovano in / usr / lib / jni / e le librerie SVN-JNI si trovano in / usr / lib / x86_64-linux-gnu / jni /.

Invece di iniziare l’eclisse con il comando

 eclipse 

puoi usare il comando

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

passare la variabile di ambiente LD_LIBRARY_PATH a eclipse. Eclipse troverà le librerie native e funzionerà correttamente.

Su redhat7:

 yum install gtk2 libXtst xorg-x11-fonts-Type1 

ha fatto il lavoro, a causa di una dipendenza da swt.

trovato qui

Assicurati che la tua partizione domestica sia montata con permessi eseguibili. Questo è il default, ma se ti capita di montarlo senza l’opzione exec, otterrai questo errore.

Mi sono imbattuto in questo errore quando ho provato ad avviare la build a 32 bit di Eclipse sotto Linux a 64 bit. Il problema è stato risolto dopo l’installazione del pacchetto ia32-libs.

Un metodo possibilmente più generico è:

  • installa la versione non headless di openjdk,
  • installa, esegui e chiudi eclipse.
  • disinstallare l’openjdk
  • installa il JDK di Oracle

Ho installato il JDK 32 bit a causa di questo sto ricevendo gli errori. Dopo aver installato JDK 64 bit http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html jdk-8u131-linux-x64.tar.gz (scaricare la versione 64) e scaricare 64 bit “eclipse-inst-linux64.tar.gz”.