← Back to team overview

sikuli-driver team mailing list archive

[Question #140743]: Sikuli X fails to execute scripts via NetBeans, Eclipse or Jython using sikuli-script.jar

 

Question #140743 on Sikuli changed:
https://answers.launchpad.net/sikuli/+question/140743

Description changed to:
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)
-- if you have problems importing built-in Python modules: read bug 702155
-- if you want to use Jython 2.5.2: read https://answers.launchpad.net/sikuli/+question/141302

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

You received this question notification because you are a member of
Sikuli Drivers, which is an answer contact for Sikuli.