sikuli r931 could not run a script in LinuxMint 13

Asked by retano

Hello,

This is a fresh Linux Mint 13 setup, Java 7 + OpenCV + wmctrl are installed as suggested.
But when I try to create and run a script sikuli fails:

click("__SIKULI-CAPTURE-BUTTON__")
[error] Остановлено
[error] Ошибка происходит на строке 1
[error] Сообщение об ошибке:
Traceback (most recent call last):
File "", line 1, in
File "/media/sda5/Sikuli-r931-linux-i686/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/__init__.py", line 3, in
File "/media/sda5/Sikuli-r931-linux-i686/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/Sikuli.py", line 22, in
java.lang.NoClassDefFoundError: Could not initialize class org.sikuli.script.Finder
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.j

ava: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(/media/sda5/Sikuli-r931-linux-i686/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/Sikuli.py:212)
at sikuli.Sikuli$py.call_function(/media/sda5/Sikuli-r931-linux-i686/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.module

s.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(/media/sda5/Sikuli-r931-linux-i686/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/__init__.py:3)
at sikuli$py.call_function(/media/sda5/Sikuli-r931-linux-i686/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 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 org.python.pycode._py

x5.f$0(:1)
at org.python.pycode._pyx5.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:64)
at org.sikuli.ide.SikuliIDE$ButtonRun.runPython(SikuliIDE.java:1574)
at org.sikuli.ide.SikuliIDE$ButtonRun$1.run(SikuliIDE.java:1679)

java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: Could not initialize class org.sikuli.script.Finder

Question information

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

How do you run the script?

Might be a problem with Java 7 - use Java 6.

Revision history for this message
retano (retano) said :
#2

I run it from GUI. The default java was version 6 - it was the same
error, so I updated it to version 7, but without success

Kind regards,
Alexander

11.06.2012 20:20, RaiMan пишет:
> Your question #200108 on Sikuli changed:
> https://answers.launchpad.net/sikuli/+question/200108
>
> Status: Open => Needs information
>
> RaiMan requested more information:
> How do you run the script?
>
> Might be a problem with Java 7 - use Java 6.
>

Revision history for this message
RaiMan (raimund-hocke) said :
#3

Modify the java call in the shell script, so that it contains a -cp path-to-sikuli-script.jar

Revision history for this message
retano (retano) said :
#4

I am not a guru in this ) How do I modify it?

Revision history for this message
RaiMan (raimund-hocke) said :
#5

Uuups, these are really basics, especially when working with Linux ;-)

shell-script: sikuli-ide.sh
edit in an editor

the line where java is called with "-jar sikuli-ide.jar"

just before -jar add the additional entry.

Revision history for this message
retano (retano) said :
#6

This is how sikuli-ide.sh looks like now:

#!/bin/sh
DIR=`dirname $0`
LC_NUMERIC=C java -Dsikuli.console=true -Dsikuli.debug=0 -Xms64M -Xmx512M -Dfile.encoding=UTF-8 -cp $DIR/sikuli-script.jar -jar $DIR/sikuli-ide.jar $*

but I still receive errors. Even when I try to create a screenshot I get errors (below). I noticed that error refers to libnl.so.2.1. colud it be a problem that I have installed OpenCV v2.3? As this is the only version I have in repositories?

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: /home/retano/sikuli/Sikuli-IDE/libs/libVisionProxy.so: libml.so.2.1: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1825)
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.TextRecognizer.(TextRecognizer.java:24)
at org.sikuli.ide.NamingPane.getFilenameFromImage(NamingPane.java:55)
at org.sikuli.ide.CaptureButton.update(CaptureButton.java:149)
at org.sikuli.script.CapturePrompt.notifyObserver(CapturePrompt.java:44)
at org.sikuli.script.CapturePrompt$1.mouseR

eleased(CapturePrompt.java:197)
at java.awt.Component.processMouseEvent(Component.java:6505)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Window.processEvent(Window.java:2022)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703)
at java.awt.EventQueue.access$000(EventQueue.java:102)
at java.awt.EventQueue$3.run(EventQueue.java:662)
at java.awt.EventQueue$3.run(EventQueue.java:660)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:676)
at java.awt.Event

Queue$4.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:673)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

Revision history for this message
retano (retano) said :
#7

Yes, looks like the problem was with OpenCV v2.3. I installed v2.1 as suggested here and it works:
https://bugs.launchpad.net/sikuli/+bug/949808

Revision history for this message
RaiMan (raimund-hocke) said :
#8

Ok, if you use the package and do not build it from source, it is indeed OpenCV 2.1, that is expected to be installed.

What happens if you now use the original sikuli-ide.sh?

Revision history for this message
retano (retano) said :
#9

It is working OK with original file.