Ubuntu: How can I get sikuli-ide to work?



Question:

I installed sikuli-ide with

sudo apt-get install sikuli-ide  

Everything was fine until I tried to start it from the terminal. I typed

sikuli-ide  

But the only response I got was

[info] locale: en_US  

The application was not started, furthermore there is no desktop file and sikuli-ide does not show up in Dash Home.

I guess there is something wrong with the package. I run Ubuntu 12.10 64bit.

I tried to install it (Sikuli-X-1.0rc3 (r905)-linux-x86_64.zip) from their page, now the IDE starts, but when I try to execute a simple script I get the following error:

[error] Stopped  [error] An error occurs at line 1  [error] Error message:  Traceback (most recent call last):  File "", line 1, in   File "/home/ayckoster/opt/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/__init__.py", line 3, in   File "/home/ayckoster/opt/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/Sikuli.py", line 22, in   java.lang.UnsatisfiedLinkError: /home/ayckoster/opt/Sikuli-IDE/libs/libVisionProxy.so: libml.so.2.1: cannot open shared object file: No such file or directory  at java.lang.ClassLoader$NativeLibrary.load(Native Method)  at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1935)  at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1860)  at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821)  at java.lang.Runtime.load0(Runtime.java:792)  at java.lang.System.load(System.java:1059)  at com.wapmx.nativeutils.jniloader.NativeLoader.loadLibrary(NativeLoader.java:44)  at org.sikuli.script.Finder.(Finder.java:33)  at java.lang.Class.forName0(Native Method)  at java.lang.    Class.forName(Class.java:264)  at org.python.core.Py.loadAndInitClass(Py.java:895)  at org.python.core.Py.findClassInternal(Py.java:830)  at org.python.core.Py.findClassEx(Py.java:881)  at org.python.core.packagecache.SysPackageManager.findClass(SysPackageManager.java:133)  at org.python.core.packagecache.PackageManager.findClass(PackageManager.java:28)  at org.python.core.packagecache.SysPackageManager.findClass(SysPackageManager.java:122)  at org.python.core.PyJavaPackage.__findattr_ex__(PyJavaPackage.java:137)  at org.python.core.PyObject.__findattr__(PyObject.java:863)  at org.python.core.imp.import_name(imp.java:849)  at org.python.core.imp.importName(imp.java:884)  at org.python.core.ImportFunction.__call__(__builtin__.java:1220)  at org.python.core.PyObject.__call__(PyObject.java:357)  at org.python.core.__builtin__.__import__(__builtin__.java:1173)  at org.python.core.imp.importFromAs(imp.java:978)  at org.python.core.imp.importFrom(imp.java:954)  at sikuli.Sikuli$py.f$0(/home/ayckoster/opt/Sikuli-IDE/siku    li-script.jar/Lib/sikuli/Sikuli.py:211)  at sikuli.Sikuli$py.call_function(/home/ayckoster/opt/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/Sikuli.py)  at org.python.core.PyTableCode.call(PyTableCode.java:165)  at org.python.core.PyCode.call(PyCode.java:18)  at org.python.core.imp.createFromCode(imp.java:386)  at org.python.core.util.importer.importer_load_module(importer.java:109)  at org.python.modules.zipimport.zipimporter.zipimporter_load_module(zipimporter.java:161)  at org.python.modules.zipimport.zipimporter$zipimporter_load_module_exposer.__call__(Unknown Source)  at org.python.core.PyBuiltinMethodNarrow.__call__(PyBuiltinMethodNarrow.java:47)  at org.python.core.imp.loadFromLoader(imp.java:513)  at org.python.core.imp.find_module(imp.java:467)  at org.python.core.PyModule.impAttr(PyModule.java:100)  at org.python.core.imp.import_next(imp.java:715)  at org.python.core.imp.import_name(imp.java:824)  at org.python.core.imp.importName(imp.java:884)  at org.python.core.ImportFunction.__call__(__builtin__.java:1220)      at org.python.core.PyObject.__call__(PyObject.java:357)  at org.python.core.__builtin__.__import__(__builtin__.java:1173)  at org.python.core.imp.importAll(imp.java:998)  at sikuli$py.f$0(/home/ayckoster/opt/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/__init__.py:3)  at sikuli$py.call_function(/home/ayckoster/opt/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/__init__.py)  at org.python.core.PyTableCode.call(PyTableCode.java:165)  at org.python.core.PyCode.call(PyCode.java:18)  at org.python.core.imp.createFromCode(imp.java:386)  at org.python.core.util.importer.importer_load_module(importer.java:109)  at org.python.modules.zipimport.zipimporter.zipimporter_load_module(zipimporter.java:161)  at org.python.modules.zipimport.zipimporter$zipimporter_load_module_exposer.__call__(Unknown Source)  at org.python.core.PyBuiltinMethodNarrow.__call__(PyBuiltinMethodNarrow.java:47)  at org.python.core.imp.loadFromLoader(imp.java:513)  at org.python.core.imp.find_module(imp.java:467)  at org.python.core.imp.import_next(imp.java:713)  at or    g.python.core.imp.import_name(imp.java:824)  at org.python.core.imp.importName(imp.java:884)  at org.python.core.ImportFunction.__call__(__builtin__.java:1220)  at org.python.core.PyObject.__call__(PyObject.java:357)  at org.python.core.__builtin__.__import__(__builtin__.java:1173)  at org.python.core.imp.importAll(imp.java:998)  at org.python.pycode._pyx2.f$0(:1)  at org.python.pycode._pyx2.call_function()  at org.python.core.PyTableCode.call(PyTableCode.java:165)  at org.python.core.PyCode.call(PyCode.java:18)  at org.python.core.Py.runCode(Py.java:1261)  at org.python.core.Py.exec(Py.java:1305)  at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:206)  at org.sikuli.script.ScriptRunner.runPython(ScriptRunner.java:61)  at org.sikuli.ide.SikuliIDE$ButtonRun.runPython(SikuliIDE.java:1572)  at org.sikuli.ide.SikuliIDE$ButtonRun$1.run(SikuliIDE.java:1677)    java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /home/ayckoster/opt/Sikuli-IDE/libs/libVisionProxy.so: libml.so.2.1:     cannot open shared object file: No such file or directory  

If I try to use the click() method from the gui it fails. So I created my own click method and it look like this:

enter image description here

This cannot be executed and produces the error above.


Solution:1

That happens to me too. It seems the package has some problem (maybe a missing dependency?).

What I recommend (worked for me) is that you uninstall it and use the version provided in their webpage. You just need to extract the folder and place it where you want. Inside you find a sikuli-ide.sh file which you can use to start it.

After that you can create a launcher to it if you want (example for Eclipse here).

Edit

I forgot to mention: as stated in their webpage Sikuli requires OpenCV 2.1. Unfortunately 12. 10 only provides OpenCV 2.3/2.4 and it didn't worked for me. The easiest way to solve this was installing OpenCV 2.1 packages from Oneiric. You will need 3 packages:

After you download them (choose a mirror on each link) install them in that order (libhighgui first) using Software Center (just double click each package).

Another way can be achieved by downloading OpenCV 2.1 and build it manually. I haven't done it ever, so I can't tell you how hard it is.


Solution:2

Sikuli-IDE on Ubuntu 12.10

(Done from a fresh install, 1/3/2013 6:00pm EST)

Requirements for Sikuli: SUN java 6, openCV 2.1

Oracle Sun Java 6:

  1. add the packages sources.

    sudo add-apt-repository ppa:webupd8team/java  
  2. install oracle-java6.

    sudo apt-get update && sudo apt-get install oracle-java6-installer  

OpenCV 2.1:

  1. Above installs sun java 6, required for sikuli

    sudo nano /etc/apt/sources.list  
  2. Then add the below line to the above file

    deb http://ubuntu.mirror.cambrium.nl/ubuntu/ oneiric main universe  

    Press Ctrl + X and hit Y then Enter.

  3. update the packages repository and install it.

    sudo apt-get update && sudo apt-get install libhighgui2.1 libcvaux2.1 libcv2.1  

Now for sikuli:

Download from here http://www.sikuli.org/download.html. Extract to home, cd into the folder and run sikuli.ide.sh, Always run it from that .sh script, everything works fine.

Everything seems to work, including clicking, OCR, python syntax, screenshots...etc


Solution:3

OpenCV 2.1 on Ubuntu 12.10

  • add the Ubuntu 11.10 source.

$ sudo vi /etc/apt/sources.list

......

deb http://ubuntu.mirror.cambrium.nl/ubuntu/ oneiric main universe

  • update repo.

$ sudo apt-get update

  • install the OpenCV 2.1 lib.

$ sudo apt-get install libhighgui2.1 libcvaux2.1 libcv2.1

I has patched it.


Solution:4

sikuli-ide on Debian 7.0 amd64

install.

$ sudo aptitude install sikuli-ide  

Info.

$ aptitude show sikuli-ide  Package: sikuli-ide                        New: yes  State: installed  Automatically installed: no  Version: 1.0~x~rc3.tesseract3-dfsg1-5  Priority: extra  Section: java  Maintainer: Debian Java maintainers <pkg-java-maintainers@lists.alioth.debian.org>  Architecture: all  Uncompressed Size: 553 k  Depends: libcommons-cli-java, libjson-simple-java, libjxgrabkey-java, libmac-widgets-java, default-jre (>= 1:1.6) | java6-runtime, libsikuli-script-java,           junit, libswingx-java, libswing-layout-java  Description: IDE to develop sikuli scripts and use them a junit test cases  ......  

Run.

$ sikuli-ide   [info] locale: en_US  

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »