Windows 7 64 Bit: Sikuli Eclipse java.lang.UnsatisfiedLinkError with 32-Bit Win32Util.dll

Asked by Michael

Hello Sikuli community,
At first thank you very much for sikuli. It is really very usefull for me. I have used Sikuli with Sikuli IDE and there all worked corectly. But now I am trieng to bind sikuli-script.jar to my java project and I get following Error:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\Michael\AppData\Local\Temp\tmplib\Win32Util.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
 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 test.TestSikuli.main(TestSikuli.java:8)

I have allready set Enviroment variables path to: C:\Program Files (x86)\Java\jre6\bin and to: C:\Program Files (x86)\Sikuli X\libs, but it doesn't help.

I am using Intel core i7 CPU and Windows 7 64-Bit. I don't use AMD 64 Bit plattform.

Thank you very much for your help.

Question information

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

known problem: bug 702797

You might try to build yourself a fully 64 Bit version from source.

I succeeded in doing that for Mac OS X 10.6 (Using openCV 2.2, tesseract 2.04 and swig all in 64 Bit). sikuli-script.jar with all it's components is successfully run in 64 Bit Java.

If you are willing to do that on Win7 (I have no experience with that and did not try it yet), I would be interested and willing to help you (contact me directly in this case at https://launchpad.net/~raimund-hocke)

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

Did you succeeded in compiling the native dll's for 64-bit. If so., can you please share it.

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

No, not yet. I cannot do it, no Win 64-Bit.

Revision history for this message
bwackwat (john-has-come) said :
#4

Any progress on this and/or the related bug? I have had a similar bugs for a few days now, and am unable to run any kind of Sikuli script that has been ported to java.

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

I have been successful in building a fully 64-Bit Sikuli on Win7 64-Bit together with Eclipse/Java 64-Bit.
(see FAQ 1453) you have to decide wether it is worth for you.

The developers are working on some concept, to finally support all 3 platforms in 32Bit and 64Bit, but I guess this will still take a while.

If you talk about your concrete "bugs", it might be possible to sort them out.

Revision history for this message
bwackwat (john-has-come) said :
#6

My problem is essentially the same, here is output from the Eclipse console:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\jhayes\AppData\Local\Temp\tmplib\Win32Util.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
 at java.lang.ClassLoader$NativeLibrary.load(Native Method)
 at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
 at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1699)
 at java.lang.Runtime.load0(Runtime.java:770)
 at java.lang.System.load(System.java:1003)
 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(Class.java:169)
 at org.sikuli.script.Env.getOSUtil(Env.java:84)
 at org.sikuli.script.ScreenHighlighter.init(ScreenHighlighter.java:175)
 at org.sikuli.script.ScreenHighlighter.<init>(ScreenHighlighter.java:288)
 at org.sikuli.script.Screen.initBounds(Screen.java:96)
 at org.sikuli.script.Screen.<init>(Screen.java:89)
 at framework.Automater.<init>(Automater.java:34)
 at framework.AddShipTest.main(AddShipTest.java:9)

Unfortunately I don't have immediate access to Visual C++, would I be able to simply download a 64-bit compiled version of sikuli-script.jar?

What if I replaced Win32Util.dll with a 64-bit version?

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

Ok. To realize any of your ideas, you would have to do the build process anyway.

I have uploaded a zipped version of my Sikuli X 64-Bit installation (https://files.me.com/rhocke/g189zz)
Everything needed should be contained (it uses openCV 2.2).

You way download and have a try. All at your own risk - no complaints ;-)

Put the folder into the c:\Program Files and put the 2 needed entries into system path
c:\Program Files\Sikuli X\libs;c:\Program Files\Java\jre6\bin

Hope it helps.

Revision history for this message
Anirban (ani-chat82) said :
#8

Hi RaiMan,
               Sorry to bother you again. Can you please let me know a location where from I can download the sikuli library (.zip file) which will work on Windows 7, 64 bit platform. The normal build, downloaded from the the site "sikuli.org" with JRE 64 bit, gives the following exception:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\anirbanc\AppData\Local\Temp\tmplib\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.<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:84)
 at org.sikuli.script.ScreenHighlighter.init(ScreenHighlighter.java:175)
 at org.sikuli.script.ScreenHighlighter.<init>(ScreenHighlighter.java:288)
 at org.sikuli.script.Screen.initBounds(Screen.java:96)
 at org.sikuli.script.Screen.<init>(Screen.java:108)
 at SikuliTest.main(SikuliTest.java:32)

The link you have given above for a build of sikuli on Win 7 64 bit platform, is no longer containing the file. also if you please share the sikuli build for Mac 64 bit platform, that will be very helpful to me.

Thanks
Anirban

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

The Windows link is open again.

This link is a 64Bit version of current Sikuli X rc3 with OpenCV 2.2 and Jython 2.5.2 for Mac OS X 64Bit (e.g. Lion):
https://files.me.com/rhocke/vc8l75

Revision history for this message
Tavares Chambless (t-chambless) said :
#10

I too run into the "Can't find dependent libraries". Is sikuli planning to support 64bit windows?

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

my Sikuli 64-Bit version (built based on the sources of rc2 from Feb 2011) runs perfectly on my Win7 64Bit with JRE 64Bit, Eclipse/Netbeans and OpenCV 2.2.

The only thing I have done:
Put the folder into the c:\Program Files and put the 2 needed entries into system path
c:\Program Files\Sikuli X\libs;c:\Program Files\Java\jre6\bin

Revision history for this message
Vamsi Tatikonda (vamsi-dec9) said :
#12

Hi Raiman,

Can you please let me know a location where can i download the sikuli library (.zip file) which will work on Windows 7, 64 bit platform.

Thanks in Advance !!!

Vamsi

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

@ Vamsi
I am sorry, but I do not have it any more, since I have thrown away all stuff based on rc2 (I want to concentrate on rc3).
I currently have no plans to try this again with rc3 (I am mainly a Mac :-). But I know, that others have built a 64-Bit version.
So you might either very it on your own or post a new question on that (this comment is too deep inside launchpad) or use the sikuli-dev mailing list.

Revision history for this message
Eider Mauricio (eidermauricio) said :
#14

Hi all it worked on windows 8 at 64 bits!!!...

We did the following:

  * Uninstall all Java X64 Versions
  * Install Java version 6 at 32 bits
  * create an environment variable called JAVA_HOME and set up the absolute path of your Java folder, some thing like this:
          "C:\Program Files (X86)\Java\jre6"
  * Add a to the PATH environment variable a new entry like this: "%JAVA_HOME%/bin"

Enjoy it.

Can you help with this problem?

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

To post a message you must log in.