Невозможно открыть Eclipse в Ubuntu 12.04 - java.lang.UnsatisfiedLinkError: не удалось загрузить библиотеку SWT

Я недавно установил Ubuntu 12.04. Также я установил Java 7. Я пытаюсь установить eclipse-java-indigo-SR2-linux-gtk.tar.gz. Я извлек этот файл в /home/ramprabhu location. Затем я пытаюсь запустить исполняемый файл eclipse. Я получил ошибку, увидев файл журнала.

Мой файл журнала:

 !SESSION 2012-06-10 22:47:35.959 -----------------------------------------------
eclipse.buildId=M20120208-0800
java.version=1.7.0_04
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os linux -ws gtk -arch x86 -product org.eclipse.epp.package.java.product

!ENTRY org.eclipse.osgi 4 0 2012-06-10 22:47:36.757
!MESSAGE Application error
!STACK 1
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
    /home/ramprabhu/eclipse/configuration/org.eclipse.osgi/bundles/247/1/.cp/libswt-pi-gtk-3740.so: libXtst.so.6: cannot open shared object file: No such file or directory
    no swt-pi-gtk in java.library.path
    /home/ramprabhu/.swt/lib/linux/x86/libswt-pi-gtk-3740.so: /home/ramprabhu/.swt/lib/linux/x86/libswt-pi-gtk-3740.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
    Can't load library: /home/ramprabhu/.swt/lib/linux/x86/libswt-pi-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.gtk.OS.<clinit>(OS.java:22)
    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)

Я не могу запустить eclipse. Как решить эту проблему и запустить eclipse.

Ответ 1

Вы смешиваете 64-битные и 32-битные. Загрузите 64-разрядную версию Eclipse и используйте 64-разрядную версию Java 7.

Ответ 2

Попробуйте выполнить следующую команду

  • 64 бит Система: ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/

  • 32 Bits System: ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/

Ответ 3

разработал его, скопировав файлы libswt в ~/.swt/lib/linux/x86(or x86_64)

для 32 бит:

/bin/cp /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/

для 64 бит:

/bin/cp /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/

Ответ 4

Я столкнулся с этой ошибкой, когда попытался запустить 32-битную сборку Eclipse под 64-разрядным Linux. Проблема была решена после установки пакета ia32-libs.

Ответ 5

Я столкнулся с этой проблемой после установки QNX Momentic IDE (основанной на 32-разрядном распределении eclipse) для разработки Blackberry 10. У меня нет возможности установить ia32-libs, потому что

$sudo apt-get install ia32-libs Чтение списков пакетов... Готово Создание дерева зависимостей
Чтение информации о состоянии... Готово Пакет ia32-libs недоступен, но упоминается другим пакетом. Это может означать, что пакет отсутствует, был устарел или доступен только из другого источника Однако следующие пакеты заменяют его:   lib32asound2 lib32z1 lib32ncurses5 lib32bz2-1.0

E: Пакет 'ia32-libs' не имеет кандидата на установку

Я нашел решение в этот пост

sudo aptitude install libc6: i386 libstdС++ 6: i386 libatk1.0-0: i386 libc6: i386 libcairo2: i386 libexpat1: i386 libffi6: i386 libfontconfig1: i386 libfreetype6: i386 libgcc1: i386 libgdk-pixbuf2.0-0: i386 libglib2.0-0: i386 libgtk2.0-0: i386 libpango1.0-0: i386 libpcre3: i386 libpixman-1-0: i386 libpng12-0: i386 libselinux1: i386 libstdС++ 6: i386 libx11-6: i386 libxau6: i386 libxcb1: i386 libxcb-render0: i386 libxcb-shm0: i386 libxcomposite1: i386 libxcursor1: i386 libxdamage1: i386 libxdmcp6: i386 libxext6: i386 libxfixes3: i386 libxi6: i386 libxinerama1: i386 libxrandr2: i386 libxrender1: i386 libxtst6: i386 zlib1g: i386

Я уверен, что это решение поможет с простым 32-битным eclipse также

Ответ 6

Вот как я решил проблему aptitude search libswt-gtk

Затем sudo apt-get install те, которые не установлены enter image description here

Ответ 7

имела ту же проблему с моей 64-битной системой, ln - это решение, магия, 64 бит Система: ln -s/usr/lib/jni/libswt- * ~/.swt/lib/linux/x86_64/