Share a script with others

Asked by Jarrett on 2012-05-04

I would like to share some scripts with other people. Here is my scenario:

I've installed sikuli successfully and have written and ran scripts. I've installed it on a friends computer. we are both now running sikuli X 1.0rc3 (r905). He can open scripts but when he tries to run a script that works on my computer, it kicks him out and starts speaking python. This happens when I send him the project, not the exported executable, and he successfully opens the project and hits run:

[info] Sikuli vision engine loaded.
[error] Stopped
[error] An error occurs at line 1
[error] Error message: Traceback (most recent call last):
File "", line 1, in
 File "C:\Program Files\Sikuli X\sikuli-script.jar\Lib\sikuli\__init__.py", line 3, in
 File "C:\Program Files\Sikuli X\sikuli-script.jar\Lib\sikuli\Sikuli.py", line 26, in
java.lang.UnsatisfiedLinkError: C:\Program Files\Sikuli X\libs\Win32Util.dll: Can't find dependent libraries
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.(Win32Util.java:19)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.sikuli.script.Env.

getOSUtil(Env.java:91)
at org.sikuli.script.App.(App.java:9)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
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:1

173)
at org.python.core.imp.importFromAs(imp.java:978)
at org.python.core.imp.importFrom(imp.java:954)
at sikuli.Sikuli$py.f$0(C:\Program Files\Sikuli X\sikuli-script.jar\Lib\sikuli\Sikuli.py:211)
at sikuli.Sikuli$py.call_function(C:\Program Files\Sikuli X\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.i

mport_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(C:\Program Files\Sikuli X\sikuli-script.jar\Lib\sikuli\__init__.py:3)
at sikuli$py.call_function(C:\Program Files\Sikuli X\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.P

yBuiltinMethodNarrow.__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._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.s

ikuli.ide.SikuliIDE$ButtonRun.runPython(SikuliIDE.java:1572)
at org.sikuli.ide.SikuliIDE$ButtonRun$1.run(SikuliIDE.java:1677)

java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: C:\Program Files\Sikuli X\libs\Win32Util.dll: Can't find dependent libraries

What is the easiest way to share scripts with other people?

Question information

Language:
English Edit question
Status:
Answered
For:
Sikuli Edit question
Assignee:
No assignee Edit question
Last query:
2012-05-04
Last reply:
2012-05-04
Jarrett (jdrummernash1) said : #1

Both machines are XP SP3

Did you check other threads with similar problem/error_message "Can't find dependent libraries" on this forum?

Here they are:
https://answers.launchpad.net/sikuli/+question/194015
https://answers.launchpad.net/sikuli/+question/193511
https://answers.launchpad.net/sikuli/+question/185595

Check, if both you and your friend have JRE 6.xx installed and correct system path variables.

Jarrett (jdrummernash1) said : #3

how do I check the system path variables? we are both running jre 6.xx

Jarrett (jdrummernash1) said : #4

i found the environment variables. i have a variable called SIKULI_HOME that has a value of C:\Program Files\Sikuli X\

Jarrett (jdrummernash1) said : #5

also one called Path. value: C:\Program Files\Sikuli X\libs;C:\Program Files\Java\jre6\\bin

Good. But if you friend have problems, settings on friend's machine need to be checked too.

Also, I can recommend nice GUI utility for convenient environment variables checking and playing - Rapid Environment Editor (http://www.rapidee.com/en/about)

Jarrett (jdrummernash1) said : #8

his variables look like mine. I have no idea what I'm looking at here. What should the variables be?

Jarrett (jdrummernash1) said : #9

if the variables are correct, what is the next thing to check?

RaiMan (raimund-hocke) said : #10

Just to be clear:
Other people who want to run your Sikuli scripts need a valid Sikuli installation on their machine.

... or at least sikuli-script.jar and the libs folder together with the environment settings and use
java -jar path-to-sikuli-script.jar path-to-a-script.sikuli

Can you help with this problem?

Provide an answer of your own, or ask Jarrett for more information if necessary.

To post a message you must log in.