Cannot launch on Ubuntu 11.04 x64

Asked by Brian Parma

*** solution:

had to remove package ia32-sun-java6-bin

------------------------------------------------------------------------------

I'm on Ubuntu 11.04 (actually linux mint 11, which is based on 11.04) and I downloaded the linux-x64 version of sikuli.
I installed: libcv2.1, libcvaux2.1, libhighgui2.1, and wmctrl from the apt-get repos, and I have the following java packages installed:
------------------------------------------------------
$ aptitude search java |grep ^i
i ca-certificates-java - Common CA certificates (JKS keystore)
i ia32-sun-java6-bin - Sun Java(TM) Runtime Environment (JRE) 6 (
i java-common - Base of all Java packages
i A javascript-common - Base support for JavaScript library packag
i libaccess-bridge-java - Java Access Bridge for GNOME
i libaccess-bridge-java-jni - Java Access Bridge for GNOME (jni bindings
i libhsqldb-java - Java SQL database engine
i libreoffice-java-common - office productivity suite -- arch-independ
i libservlet2.5-java - Servlet 2.5 and JSP 2.1 Java API classes
i A plasma-scriptengine-javascript - the JavaScript script engine for Plasma
i sun-java6-bin - Sun Java(TM) Runtime Environment (JRE) 6 (
i sun-java6-jre - Sun Java(TM) Runtime Environment (JRE) 6 (
i sun-java6-plugin - Java(TM) Plug-in, Java SE 6
i tzdata-java - time zone and daylight-saving time data fo
------------------------------------------------------

When I try to launch sikuli I get:
------------------------------------------------------
/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: wrong ELF class: ELFCLASS64

(<unknown>:12601): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so

/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: wrong ELF class: ELFCLASS64

(<unknown>:12601): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so

[info] locale: en_US
Exception in thread "main" java.lang.UnsatisfiedLinkError: /mnt/junk/Downloads/sikuli_x1.0rc2_x64/Sikuli-IDE/libs/libJXGrabKey.so: /mnt/junk/Downloads/sikuli_x1.0rc2_x64/Sikuli-IDE/libs/libJXGrabKey.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
 at java.lang.ClassLoader$NativeLibrary.load(Native Method)
 at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)
 at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1703)
 at java.lang.Runtime.load0(Runtime.java:770)
 at java.lang.System.load(System.java:1003)
 at com.wapmx.nativeutils.jniloader.NativeLoader.loadLibrary(NativeLoader.java:44)
 at org.sikuli.ide.NativeLayerForLinux.initIDE(NativeLayerForLinux.java:24)
 at org.sikuli.ide.SikuliIDE.<init>(SikuliIDE.java:661)
 at org.sikuli.ide.SikuliIDE.getInstance(SikuliIDE.java:130)
 at org.sikuli.ide.SikuliIDE.main(SikuliIDE.java:913)
------------------------------------------------------

It seems like it can't handle x64 bit libraries, even though I'm on an x64 bit system.

Question information

Language:
English Edit question
Status:
Solved
For:
SikuliX Edit question
Assignee:
No assignee Edit question
Solved by:
Brian Parma
Solved:
Last query:
Last reply:
Revision history for this message
RaiMan (raimund-hocke) said :
#1

Try to rebuild the libJXGrabKey.so from the sources.

see: https://answers.launchpad.net/sikuli/+question/167648

Revision history for this message
Brian Parma (bj0) said :
#2

The problem was:
ia32-sun-java6-bin

Even though I had the x64 version of java installed too, this 32 bit one was the default one in use, so when I tried to run the x64 version of sikuli, the 32bit java didn't like the 64bit libs, and when I tried to run the 32bit sikuli, then the systems 64bit opencv libs didn't work.

removing the ia32-sun-java6-bin package fixed it, but I don't recall if that was installed for a specific reason...

This looks like a bug (or misunderstanding) with the packaging of java in ubuntu or something not necessarily related to sikuli