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

Ben Horstman bhorstman at mimsoftware.com
Fri Nov 16 16:33:34 EST 2012


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