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

19

Actualicé a la versión beta de 12.04 ayer. Ahora, cuando intento iniciar Eclipse, aparece la pantalla de bienvenida y luego aparece 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 directorio /home/gabriel/.swt/lib/linux/x86_64/ existe, pero está vacío. También intenté volver a instalar eclipse sin éxito.

¿Alguna idea?

    
pregunta Keidax 25.04.2012 - 19:41

6 respuestas

19

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

copiar: 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 & amp; 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 /

    
respondido por el Hanynowsky 30.04.2012 - 05:11
4

Prueba a ejecutar

sudo update-alternatives --config java

y selección open jdk . Esto probablemente funcione.

    
respondido por el Lelouch Lamperouge 25.04.2012 - 19:51
2

También para mí funciona; 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!

    
respondido por el Luca122131 10.05.2012 - 16:10
2
echo "-Djava.library.path=/usr/lib/jni" >> /etc/eclipse.ini

lo arregló para mí.

    
respondido por el Dale E. Moore 25.07.2012 - 11:05
1

Gracias por las excelentes instrucciones. Agregué enlaces simbólicos como este en su lugar, para asegurarme de que recoge todo 3740 :

cd ~/.swt/lib/linux/x86_64

for i in /usr/lib/jni/*3740*.so ; do ln -s $i; done
    
respondido por el henry 28.05.2012 - 20:32
0

Hice enlaces simbólicos a las librerías perdidas 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 que funciona.

    
respondido por el noel 10.05.2012 - 07:36

Lea otras preguntas en las etiquetas