[Insight-users] Linking SimpleITK.dll on 64-bit Windows XP

Bradley Lowekamp blowekamp at mail.nih.gov
Mon Nov 19 11:34:24 EST 2012


Hello,

What Java version are you running on XP? What development environment are you using?

I created a Window XP 64-bit virtual machine. Applied SP2 and patch. Then downloaded the Windows x86 jdk-7u9 from Sun and eclipse. Then I followed instruction here to set up an example:

http://www.itk.org/Wiki/A_visual_guide_to_SimpleITK_in_Java

This seemed to work fine for me.

Brad


On Nov 16, 2012, at 4:33 PM, Ben Horstman <bhorstman at mimsoftware.com> wrote:

> Hi Brad,
> 
> I was able to run the algorithm on Mac OS 10.8 and Windows 7 using the shipped binaries.  I was also able to build the project on ubuntu and run it there.  So my code runs and I get a nice smoothed image as I would expect.  Windows XP is the only place I've had an issue.
> 
> I tried the 32-bit SimpleITK download, and it also failed (with what I believe is a java version mismatch [1]).  So I tried the obvious thing: I used the jars from the 64-bit distribution and the .dll from the 32-bit, and I was actually able to get this chimera to run for the 32-bit version of our application =P
> 
> So, for now, I've asked my user if he can use the 32-bit version as a workaround.  Otherwise I guess I'll have to look into visual studio.
> 
> Thanks for the response,
> ~benjamin
> 
> ************************
> Benjamin Philip Horstman
> Software Lead - Rho Team
> MIM Software Inc.
> 
> [1] Error invoking extension:
>  -- Exception : java.lang.reflect.InvocationTargetException
> 
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>  at java.lang.reflect.Method.invoke(Method.java:597)
>  at com.mimvista.extensions.d.run(d.java:7)
>  at java.lang.Thread.run(Thread.java:662)
>  at com.mimvista.extensions.j.run(j.java:2)
>   caused by:
>  -- Exception : java.lang.UnsupportedClassVersionError
> org/itk/simple/Image : Unsupported major.minor version 51.0
>  at java.lang.ClassLoader.defineClass1(Native Method)
>  at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
>  at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
>  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
>  at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
>  at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
>  at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
>  at java.security.AccessController.doPrivileged(Native Method)
>  at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>  at com.mimvista.extensions.k.findClass(k.java:6)
>  at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>  at com.mimvista.extensions.k.loadClass(k.java:1)
>  at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>  at com.mimvista.extensions.k.loadClass(k.java:21)
>  at sample.control.Launcher.applyFilter(Launcher.java:104)
>  at sample.control.Launcher.process(Launcher.java:86)
>  at sample.control.Launcher.runOnSession(Launcher.java:56)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>  at java.lang.reflect.Method.invoke(Method.java:597)
>  at com.mimvista.extensions.d.run(d.java:7)
>  at java.lang.Thread.run(Thread.java:662)
>  at com.mimvista.extensions.j.run(j.java:2)
> 
> 
> ----- Original Message -----
>> From: "Bradley Lowekamp" <blowekamp at mail.nih.gov>
>> To: "Ben Horstman" <bhorstman at mimsoftware.com>
>> Cc: insight-users at itk.org
>> Sent: Friday, November 16, 2012 2:35:23 PM
>> Subject: Re: [Insight-users] Linking SimpleITK.dll on 64-bit Windows XP
>> 
>> Hello,
>> 
>> Thanks for the information, and let us know where you were successful
>> in addition to your failure. It sounds like there is some other
>> dependent DLL that SimpleITKJava.dll needs that is not on your
>> system.
>> 
>> Have you tried compiling SimpleITK from the source on XP?
>> 
>> http://www.itk.org/Wiki/ITK_Release_4/SimpleITK/GettingStarted#Build_It_Yourself
>> 
>> The Java binaries have been compiled and tested on Windows 7. I would
>> expect SimpleITK to compile just fine with VS9 or VS10 on XP, but I
>> have never tried.
>> 
>> Brad
>> 
>> On Nov 16, 2012, at 12:03 PM, Ben Horstman
>> <bhorstman at mimsoftware.com> wrote:
>> 
>>> Hello all,
>>> 
>>> I have been using the SimpleITK Java bindings to do ansiotropic
>>> diffusion.  I have gotten things to work on Windows 7 64-bit and
>>> Mac OS 10.8 64-bit by using the binaries from the sourceforge
>>> page.  I was also able to compile the linux binaries and run
>>> things under Ubuntu 64-bit.
>>> 
>>> Here is the page I used for the binaries and java files:
>>> http://sourceforge.net/projects/simpleitk/files/SimpleITK/0.5.1/Java/
>>> 
>>> However, I cannot get the 64-bit Windows binaries to work under
>>> Windows XP 64-bit.  Is there anything I can do to work around it?
>>> Is 64-bit XP even supported?
>>> 
>>> Here is the exception I get:
>>> 
>>> CB16-01 Nov-16-2012 10:50:41.843 ERROR
>>> Denoise__Ansiotropic_Diffusion_ failed to link simpleITK
>>> manually...
>>> -- Exception : java.lang.UnsatisfiedLinkError
>>> C:\Documents and Settings\MIM\Local
>>> Settings\Temp\mim3368\extTemp1353081039750\lib\SimpleITKJava.dll:
>>> This application has failed to start because the application
>>> configuration is incorrect. Reinstalling the application may fix
>>> this problem
>>> 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 sample.control.Launcher.runOnSession(Launcher.java:51)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at com.mimvista.extensions.d.run(d.java:7)
>>> at java.lang.Thread.run(Unknown Source)
>>> at com.mimvista.extensions.j.run(j.java:2)
>>> 
>>> The call I am trying to do is basically "System.load(path)", where
>>> path is the absolute path to the SimpleITKJava dll.  Loading it
>>> explicitly like this doesn't change anything; the error I get from
>>> the Java JNI wrapper trying to link the library is the same.  I'm
>>> reasonably certain it is finding the file, since the error changes
>>> if I make the path wrong.  So my guess is that the .dll is
>>> incompatible somehow...
>>> 
>>> Thanks for reading,
>>> ~benjamin
>>> 
>>> ************************
>>> Benjamin Philip Horstman
>>> Software Lead - Rho Team
>>> MIM Software Inc.
>>> 
>>> _____________________________________
>>> Powered by www.kitware.com
>>> 
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>> 
>>> Kitware offers ITK Training Courses, for more information visit:
>>> http://www.kitware.com/products/protraining.php
>>> 
>>> Please keep messages on-topic and check the ITK FAQ at:
>>> http://www.itk.org/Wiki/ITK_FAQ
>>> 
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.itk.org/mailman/listinfo/insight-users
>> 
>> 



More information about the Insight-users mailing list