Cada vez que intento abrir Eclipse en Ubuntu 12.04 recibo un error de enlace insatisfecho y no se abrirá. Recientemente instalé Java JDK y Android SDK, ¿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 ~/.eclipse
directorio, pero todavía no funciona.
java
eclipse
ubuntu
unsatisfiedlinkerror
TomRichardson
fuente
fuente
Respuestas:
en mi Ubuntu 12.04 32 bit . Edito el comando para:
Y en Ubuntu 12.04, prueba de 64 bits :
fuente
ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/
RESUELTO
Como había instalado Oracle Java 7, había cambiado el Java predeterminado a Oracle Java 7, sin embargo, tenía que ser Open JDK.
Para arreglarlo, abre la terminal y escribe
Esto abre una lista de los diferentes tipos de Java. Simplemente seleccione Abrir JDK.
fuente
Simplemente especifique la ruta a las bibliotecas:
fuente
En mi caso, me faltaba el
/usr/lib/jni
directorio por completo. Arreglado porNo es necesario hacer un enlace simbólico después. Eclipse comenzó normalmente.
fuente
parece que las bibliotecas deberían estar en .swt / lib / linux / x86_64 / si no hay, puede probar este comando:
esto debería encontrar que las bibliotecas copian todo el directorio a /home/tom/.swt/lib/linux/x86_64
fuente
Estoy de acuerdo con Scott, lo que él enumeró funcionó. Sin embargo, simplemente ejecutarlo desde cualquier directorio no funcionó. Tuve que cd a los archivos / home / * /.swt/lib/linux/x86_64/ 0
directorio primero y luego ejecute el comando de enlace:
Para 32 bits:
Y en Ubuntu 12.04 64 bit:
fuente
En redhat7:
hizo el trabajo, debido a una dependencia swt.
encontrado aquí
fuente
Si comienza eclipse usando oracle java, entonces eclipse podría fallar al encontrar bibliotecas nativas como SWT o SVN. Las bibliotecas SWT-JNI se encuentran en / usr / lib / jni / y las bibliotecas SVN-JNI se encuentran en / usr / lib / x86_64-linux-gnu / jni /.
En lugar de comenzar el eclipse con el comando
puedes usar el comando
para pasar la variable de entorno LD_LIBRARY_PATH a eclipse. Eclipse encontrará las bibliotecas nativas y se ejecutará correctamente.
fuente
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
¿Cómo puedo resolverlo?Encontré este error cuando intenté iniciar la compilación de Eclipse de 32 bits en Linux de 64 bits. El problema se resolvió después de instalar el paquete ia32-libs.
fuente
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 de ejecución, obtendrá este error.
fuente
Un método posiblemente más genérico es:
fuente
Instalé el JDK de 32 bits debido a eso recibo 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".
fuente
Para Windows Subsystem for Linux (WSL) necesitará
Si no tienes un OpenJDK 8, también necesitarás
fuente