2011-01-03 08:34:32 |
RaiMan |
description |
OS Win7 starter x32
OS Win 7 ultimate x32
Description:
User unable to run sikuli scripts when using Sikuli X components , error returned is
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
Executing dependency walker on the affected x32 machine returns the following:
c:\users\mike\appdata\local\temp\tmplib\WIN32UTIL.DLL
?Java_org_sikuli_script_Win32Util_bringWindowToFront@@YGXPAUJNIEnv_@@PAV_jclass@@PAV_jobject@@E@Z
_Java_org_sikuli_script_Win32Util_closeApp__I@12
_Java_org_sikuli_script_Win32Util_closeApp__Ljava_lang_String_2@12
_Java_org_sikuli_script_Win32Util_getFocusedRegion@8
_Java_org_sikuli_script_Win32Util_getHwnd__II@16
_Java_org_sikuli_script_Win32Util_getHwnd__Ljava_lang_String_2I@16
_Java_org_sikuli_script_Win32Util_getRegion@20
_Java_org_sikuli_script_Win32Util_openApp@12
_Java_org_sikuli_script_Win32Util_switchApp__II@16
_Java_org_sikuli_script_Win32Util_switchApp__Ljava_lang_String_2I@16
JAWT.DLL , IESHMIS.DLL, AWT.DLL, MSVCR71.DLL
are shown as missing dependencies (see the attached screen shots)
User variable path is
C:\Program Files\UnjarSikuliScript\Lib;C:\Program Files\Sikuli X\libs;C:\Program Files\Java\jre6\bin
The fix is to add the following to your system path.
C:\Program Files\UnjarSikuliScript\Lib;C:\Program Files\Sikuli X\libs;C:\Program Files\Java\jre6\bin
I hope reporting this will save a tester pain. |
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
|
|