[libvirt] Libvirt java from Windows

Matthias Bolte matthias.bolte at googlemail.com
Wed Jan 4 08:45:34 UTC 2012


2011/12/24 Sergey Sudakovich (ssudakov) <ssudakov at cisco.com>:
> I am writing a java based client that would be executed from windows that
> will use libvirt.
>
> 1.       Got libvirt-java (
> http://libvirt.org/sources/java/libvirt-java-0.4.7.tar.gz) and build a jar
> out it (ant with no params)
>
> 2.       Then, according to http://libvirt.org/windows.html, built a dll
> using the “MSYS build script”
>
> 3.       Got 2 files libvirt-0.dll and libqemu-0.dll
>
> When I run the sample example(from Eclipse) from
> http://libvirt.org/java.html I get the following error:
>
>
>
> Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load
> library 'virt': %1 is not a valid Win32 application.

The problem here might be that the Java bindings are looking for a
library called 'virt' which actually means it's looking for
libvirt.dll instead of libvirt-0.dll.

There are two workarounds to try.

You can rename libvirt-0.dll to libvirt.dll or you can change the Java
bindings code in org/libvirt/jna/Libvirt.java from

  Libvirt INSTANCE = (Libvirt) Native.loadLibrary("virt", Libvirt.class);

to

  Libvirt INSTANCE = (Libvirt) Native.loadLibrary("virt-0", Libvirt.class);

Also make sure that the Java VM can find libvirt-0.dll at all. It
needs to be in the PATH or in the working directory of you
application.

-- 
Matthias Bolte
http://photron.blogspot.com




More information about the libvir-list mailing list