Can't OPEN Eclipse in Ubuntu 12.04 - java.lang.UnsatisfiedLinkError: Could not load SWT library
Asked Answered
D

7

11

I have installed Ubuntu 12.04 newly. Also i installed Java 7. I try to install eclipse-java-indigo-SR2-linux-gtk.tar.gz. i extracted this file in /home/ramprabhu location. Then i try to run eclipse executable file. I got error as see the log file.

My log file:

 !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)

I am not able to run eclipse. How to solve this problem and run eclipse.

Dysgenic answered 10/6, 2012 at 17:31 Comment(0)
E
3

You are mixing 64-bit and 32-bit. Download the 64-bit version of Eclipse and use the 64-bit version of Java 7.

Exposure answered 10/6, 2012 at 17:44 Comment(3)
how do i understand if eclipse is 32 bit or java is 32 bit? I was using synaptic to install jdk7 from the webupd8 ppa and to install eclipse.Candycecandystriped
running java -version will show you 32-bit or 64-bit mode. A quick way to find if Eclipse is 32 or 64-bit is to do find . -name 'org.eclipse.swt*.jar' and see if it returns x86_64 for swtExposure
executing java -version says: java version "1.6.0_26" - Java(TM) SE Runtime Environment (build 1.6.0_26-b03-383-11M3720) - Java HotSpot(TM) Client VM (build 20.1-b02-383, mixed mode) So, is this 32bit or 64bit?Candycecandystriped
E
55

Try with the following command

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

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

Encephalon answered 24/6, 2012 at 19:45 Comment(1)
Had the same problem and for my 32 bit system just a copy paste of the above command saved me! Thank you!Consignee
C
7

worked it out by copying the libswt files to ~/.swt/lib/linux/x86(or x86_64)

for 32 bit:

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

for 64 bit:

/bin/cp /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/
Candycecandystriped answered 27/6, 2012 at 11:14 Comment(0)
Q
6

I came across this error when tried to start 32-bit build of Eclipse under 64-bit linux. The problem was solved after installing ia32-libs package.

Quiroz answered 7/4, 2013 at 16:30 Comment(0)
P
4

I faced with this problem after installing QNX Momentic IDE (it based on 32-bit eclipse distribution) for Blackberry 10 development. I haven't chance to install ia32-libs because

$ sudo apt-get install ia32-libs Reading package lists... Done Building dependency tree
Reading state information... Done Package ia32-libs is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: lib32asound2 lib32z1 lib32ncurses5 lib32bz2-1.0

E: Package 'ia32-libs' has no installation candidate

I found solution in this post

sudo aptitude install libc6:i386 libstdc++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 libstdc++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

I'm sure this solution will help with simple 32-bit eclipse also

Potentiometer answered 25/10, 2013 at 19:11 Comment(1)
Thanks. This worked. Also check the error log to see any other dependencies.Jorgensen
M
4

Here is how i solved the issue aptitude search libswt-gtk

Then sudo apt-get install the ones not installed enter image description here

Meshuga answered 29/5, 2015 at 16:52 Comment(0)
E
3

You are mixing 64-bit and 32-bit. Download the 64-bit version of Eclipse and use the 64-bit version of Java 7.

Exposure answered 10/6, 2012 at 17:44 Comment(3)
how do i understand if eclipse is 32 bit or java is 32 bit? I was using synaptic to install jdk7 from the webupd8 ppa and to install eclipse.Candycecandystriped
running java -version will show you 32-bit or 64-bit mode. A quick way to find if Eclipse is 32 or 64-bit is to do find . -name 'org.eclipse.swt*.jar' and see if it returns x86_64 for swtExposure
executing java -version says: java version "1.6.0_26" - Java(TM) SE Runtime Environment (build 1.6.0_26-b03-383-11M3720) - Java HotSpot(TM) Client VM (build 20.1-b02-383, mixed mode) So, is this 32bit or 64bit?Candycecandystriped
B
0

had the same problem with with my 64bit system, the ln is solution worked, magic, 64 Bits System: ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/

Brendin answered 17/5, 2013 at 8:51 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.