Question: I am trying to use [SVMLight](http://svmlight.joachims.org/) from Java, using the [JNI wrapper on this page](http://www.mpi-inf.mpg.de/~mtb/):

```
  static {
    System.loadLibrary("lib/JNI_SVM-light-6.01/lib/svmlight");
  }

```

I get the following error:

> 
> ... lib\JNI\_SVM-light-6.01\lib\svmlight.dll: Can't load IA 32-bit .dll
>  on a AMD 64-bit platform
> 
> 
> 

Can I solve this by recompiling the .dll for 64 bit? **How would I go about doing this?** Is there some other workaround I can use? SVMLight makes the C source code available.

Answer: 
Got this from - <http://blog.cedarsoft.com/2010/11/setting-java-library-path-programmatically/>

If set the java.library.path, need to have the following lines in order to work.

```
Field fieldSysPath;
fieldSysPath = ClassLoader.class.getDeclaredField( "sys_paths" );
fieldSysPath.setAccessible( true );
fieldSysPath.set( null, null );

```
For your Native library location, use X64 over X86. At least this fixed problem I had.