Error de enlace insatisfecho y faltan archivos .so al iniciar Eclipse

19

Actualicé a la versión beta 12.04 ayer. Ahora, cuando intento iniciar Eclipse, aparece la pantalla de inicio y luego este mensaje de error:

An error has occurred. See the log file /home/gabriel/.eclipse/org.eclipse.platform_3.7.0_155965261/configuration/1335382319394.log .

El archivo de registro dice algo como esto:

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/gabriel/.swt/lib/linux/x86_64/libswt-gtk-3740.so
    Can't load library: /home/gabriel/.swt/lib/linux/x86_64/libswt-gtk.so

seguido de muchos más mensajes de error.

El /home/gabriel/.swt/lib/linux/x86_64/directorio existe, pero está vacío. También intenté reinstalar eclipse sin éxito.

¿Algunas ideas?

Keidax
fuente
Esto es un error Inicie sesión en Launchpad y regístrese para que esto también le afecte: bugs.launchpad.net/ubuntu/+source/eclipse/+bug/989615
David Edwards

Respuestas:

19

Tengo el mismo problema en una máquina AMD64 (Ubuntu 12.04). y lo resolvió con una solución alternativa:

copia: archivos que contienen '3740' en /usr/lib/jni/libswt-*3740.so a ~ / .swt / lib / linux / x86_64 /

Pero asegúrese de que los paquetes: libswt-gtk-3-java y libswt-gtk-3-jni estén instalados.

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

Y

sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86_64/

si tiene un sistema basado en 32 bits: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/

Hanynowsky
fuente
1
wow, esto también funcionó para mí (Intel Core i5, 64 bit ubuntu 12.04) ¡muchas gracias!
vallllll
1
Funcionó muy bien para un sistema de 32 bits. Usando: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/. Gracias y actualice su respuesta por favor.
Binarylife
1
Realmente funciona para mí tampoco (Ubuntu precisa 64 bit). Había creado enlaces blandos en lugar de copiar.
masuch
4

Intenta correr

sudo update-alternatives --config java

y selección open jdk. Esto probablemente funcionaría.

Lelouch Lamperouge
fuente
Esto funcionó, pero estoy tratando de evitar el uso openjdk.
Keidax
En realidad, no importa. Solo iré con eso.
Keidax
1
También quería evitar openjdk, así que mira la respuesta de Hanynowsky; ¡funcionó para mí!
Nick Badal
2

También para mí funciona; Yo hice:

cd ~/.swt/lib/linux/x86_64
ln -s /usr/lib/jni/libswt-atk-gtk-3740.so
ln -s /usr/lib/jni/libswt-gtk-3740.so
ln-s /usr/lib/jni/libswt-pi-gtk-3740.so

y así, creé 3 enlaces simbólicos en la carpeta ~ / .swt / lib / linux / x86_64

¡Ahora Eclipse funciona bien!

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

Me lo arregló.

Dale E. Moore
fuente
Amo esta solución, la arreglé para todos los usuarios.
Adam Ness
1

Gracias por las excelentes instrucciones. Agregué enlaces simbólicos como este, para asegurarme de que recoge todos los 3740 :

cd ~/.swt/lib/linux/x86_64

for i in /usr/lib/jni/*3740*.so ; do ln -s $i; done
Enrique
fuente
0

Hice enlaces simbólicos a las bibliotecas faltantes y todo funcionó bien. Terminó luciendo así ...

    libswt-atk-gtk-3740.so -> /usr/lib/jni/libswt-atk-gtk-3740.so
    libswt-gtk-3740.so -> /usr/lib/jni/libswt-gtk-3740.so
    libswt-pi-gtk-3740.so -> /usr/lib/jni/libswt-pi-gtk-3740.so

Parece funcionar.

Navidad
fuente