java - Eclipse no puede cargar bibliotecas SWT
ubuntu unsatisfiedlinkerror (12)
Asegúrese de que su partición doméstica esté montada con permisos ejecutables. Ese es el valor predeterminado, pero si lo monta sin la opción exec, obtendrá este error.
Cada vez que intento abrir Eclipse en Ubuntu 12.04 obtengo un error de enlace insatisfecho y no se abre. Recientemente instalé el Java JDK y el SDK de Android, ¿podría ser este el problema? Seguí este tutorial .
Aquí está la información de 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.<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)
He intentado desinstalar y reinstalar, y eliminar el directorio ~/.eclipse
pero todavía no funciona
En mi caso, faltaba /usr/lib/jni
directorio /usr/lib/jni
. Arreglado por
sudo apt-get install libswt-gtk-3-jni libswt-gtk-3-java
No hay necesidad de un enlace simbólico después. Eclipse comenzó normalmente.
En redhat7:
yum install gtk2 libXtst xorg-x11-fonts-Type1
Hizo el trabajo, debido a una dependencia swt.
encontrado here
Encontré este error cuando intenté iniciar la compilación de 32 bits de Eclipse bajo Linux de 64 bits. El problema se resolvió después de instalar el paquete ia32-libs.
Estoy de acuerdo con Scott, lo que enumeró funcionó. Sin embargo, simplemente ejecutarlo desde cualquier directorio no funcionó. Tuve que cd a los archivos / home / * /.swt/lib/linux/x86_64/ 0
Primero el directorio y luego ejecute el comando de enlace:
Para 32 bits:
ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/
Y en Ubuntu 12.04 64 bit:
ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/
Instalé el JDK 32 bit debido a que estoy recibiendo los errores. Después de instalar JDK 64 bit http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html jdk-8u131-linux-x64.tar.gz (descargue la versión 64) y descargue 64 bits "eclipse-inst-linux64.tar.gz".
Resuelto:
Debido a que había instalado Oracle Java 7, había cambiado Java por defecto a Oracle Java 7, sin embargo, tenía que ser el Open JDK.
Para arreglarlo, abre el terminal y escribe
sudo update-alternatives --config java
Esto trae una lista de los diferentes tipos de Java. Simplemente seleccione el Open JDK.
Si inicia eclipse utilizando Oracle Java, entonces Eclipse podría fallar en la búsqueda de bibliotecas nativas como SWT o SVN. Las bibliotecas SWT-JNI están ubicadas en / usr / lib / jni / y las bibliotecas SVN-JNI están ubicadas en / usr / lib / x86_64-linux-gnu / jni /.
En lugar de iniciar eclipse con el comando
eclipse
puedes usar el comando
env LD_LIBRARY_PATH=/usr/lib/jni/:/usr/lib/x86_64-linux-gnu/jni/:$LD_LIBRARY_PATH eclipse
para pasar la variable de entorno LD_LIBRARY_PATH a eclipse. Eclipse encontrará las bibliotecas nativas y se ejecutará correctamente.
Simplemente especifique la ruta a las bibliotecas:
echo "-Djava.library.path=/usr/lib/jni/" >> /etc/eclipse.ini
Un método posiblemente más genérico es:
- instalar la versión sin cabeza del openjdk,
- Instalar, ejecutar y cerrar eclipse.
- desinstalar el openjdk
- instalar el JDK de Oracle
en mi Ubuntu 12.04 32 bit . Edito el comando para:
ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/
Y en Ubuntu 12.04 64 bit prueba:
ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/
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
Parece que las bibliotecas deberían estar en .swt / lib / linux / x86_64 / si no las hay, puedes probar este comando:
locate libswt-gtk.so
esto debería encontrar las bibliotecas copiar todo el directorio a /home/tom/.swt/lib/linux/x86_64