Sikuli X fails to execute scripts via NetBeans, Eclipse or Jython using sikuli-script.jar

Bug #696691 reported by surfdork on 2011-01-03

This bug report was converted into a question: question #140743: Sikuli X fails to execute scripts via NetBeans, Eclipse or Jython using sikuli-script.jar.

10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Sikuli
Undecided
Unassigned

Bug Description

You may find yourself in this situation, when using sikuli-script.jar standalone in other environments than just together with Sikuli-IDE:
- using other IDE's like Netbeans or Eclipse
- using plain Jython to run your scripts
- using Java.exe and sikuli-script.jar to run your scripts

and try to just port your solution from 10.2

--- for 64-Bit Systems (Windows/Linux) and mixed 64-Bit/32-Bit Systems (Windows/Linux) the following solution might not help (still under investigation)

--- This solution applies to:
OS Win7 starter x32
OS Win 7 ultimate x32
(and probably all 32-bit Windows)

Mac: special adjustments needed (if interested contact RaiMan)
Linux: similar to Windows (but you need to install openCV 2.1 on your own)

--- Description:
-- User unable to run sikuli scripts when using Sikuli X component sikuli-script.jar standalone (referenced in Java Class Path and/or Python Path (sys.path))
-- Error messages say that there are problems finding/loading dependent libraries, mainly with reference to
C:\Users\...\AppData\Local\Temp\tmplib\Win32Util.dll
-- in the error trace back you find
at com.wapmx.nativeutils.jniloader.NativeLoader.loadLibrary(NativeLoader.java:44)

see an example error log below.

--- How to get it going?
-- take care, that any references to 10.2 components are removed in your environment
-- have the following entries in your system path (Windows: System settings -> advanced -> environment variables)
path-to-your-Sikuli-X\libs
path-to-your-Java\jre6\bin
(e.g. add C:\Program Files\Sikuli X\libs;C:\Program Files\Java\jre6\bin)
adjust these path specifications to your environment

--- additional things that might be helpful:
-- when using an unjared version of sikuli-script.jar, it might be helpful, to put this reference in the system path too:
path-to-your-unjared-sikuli-script.jar\Lib
-- be aware, that the Sikuli java classes now live at org.sikuli.script (if you are working on the java level)

--- Here an example error log:
VDictProxy loaded.
Traceback (most recent call last):
  File "C:\Users\Mike\Documents\NetBeansProjects\NewPythonProject\src\newpythonproject.py", line 4, in <module>
    from sikuli.Sikuli import *
  File "C:\UnjarSikuliScript\Lib\sikuli\Sikuli.py", line 183, in <module>
    initSikuli()
  File "C:\UnjarSikuliScript\Lib\sikuli\Sikuli.py", line 178, in initSikuli
    dict['SCREEN'] = Screen()
  File "C:\UnjarSikuliScript\Lib\sikuli\Screen.py", line 16, in __init__
    r = JScreen().getBounds()
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)

        at java.lang.ClassLoader.loadLibrary0(Unknown Source)

        at java.lang.ClassLoader.loadLibrary(Unknown Source)

        at java.lang.Runtime.load0(Unknown Source)

        at java.lang.System.load(Unknown Source)

        at com.wapmx.nativeutils.jniloader.NativeLoader.loadLibrary(NativeLoader.java:44)

        at org.sikuli.script.Win32Util.<clinit>(Win32Util.java:14)

        at java.lang.Class.forName0(Native Method)

        at java.lang.Class.forName(Unknown Source)

        at org.sikuli.script.Env.getOSUtil(Env.java:82)

        at org.sikuli.script.ScreenHighlighter.init(ScreenHighlighter.java:174)

        at org.sikuli.script.ScreenHighlighter.<init>(ScreenHighlighter.java:287)

        at org.sikuli.script.Screen.initBounds(Screen.java:96)

        at org.sikuli.script.Screen.<init>(Screen.java:108)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

        at java.lang.reflect.Constructor.newInstance(Unknown Source)

        at org.python.core.PyReflectedConstructor.constructProxy(PyReflectedConstructor.java:163)

java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: C:\Users\Mike\AppData\Local\Temp\tmplib\Win32Util.dll: Can't find dependent libraries

Tsung-Hsiang Chang (vgod) wrote :

Please check if you have the path to the JRE\bin in the environment variable PATH.

RaiMan (raimund-hocke) on 2011-01-03
summary: - Sikuli X fails to execute scripts via Net Beans
+ Sikuli X fails to execute scripts via NetBeans, Eclipse or Jython using
+ sikuli-script.jar
RaiMan (raimund-hocke) on 2011-01-03
description: updated
Changed in sikuli:
status: New → Confirmed
RaiMan (raimund-hocke) wrote :

To be able to link it to the request bug

Changed in sikuli:
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers