[libvirt] Compiling libvirt on Cygwin

Daniel P. Berrange berrange at redhat.com
Tue Jan 26 14:37:54 UTC 2016


On Sun, Jan 24, 2016 at 12:57:51PM -0500, Maarten Jacobs wrote:
> Hello,
> I have been trying to get libvirt compiled on Cygwin but I have run into a rather perplexing issue.
> I am running a 32-bit installation of Cygwin on Windows 10:
> CYGWIN_NT-10.0-WOW dell-desktop 2.4.0(0.293/5/3) 2016-01-15 16:14 i686 Cygwin
> I have had to "fix" a number of problems in the Makefile that prevented the code from linking properly. I am not sure if the fixes are entirely correct - but as long as the linker was ok I pressed on.
> After applying those changes to the Makefile, I ran into the following issue when creating libvirtd.exe:
>   CCLD     libvirtd.exe../src/.libs/libvirt_driver_remote.a(libvirt_net_rpc_la-virnetmessage.o): In function `virNetMessageNew':/home/maart/source/libvirt/src/rpc/virnetmessage.c:39: multiple definition of `virNetMessageNew'/home/maart/source/libvirt/src/.libs/libvirt.dll.a(d002143.o):(.text+0x0): first defined here...collect2: error: ld returned 1 exit statusMakefile:2152: recipe for target 'libvirtd.exe' failedmake[3]: *** [libvirtd.exe] Error 1make[3]: Leaving directory '/cygdrive/c/cygwin64/home/maart/source/libvirt/daemon'Makefile:2050: recipe for target 'all' failedmake[2]: *** [all] Error 2make[2]: Leaving directory '/cygdrive/c/cygwin64/home/maart/source/libvirt/daemon'Makefile:1993: recipe for target 'all-recursive' failedmake[1]: *** [all-recursive] Error 1make[1]: Leaving directory '/cygdrive/c/cygwin64/home/maart/source/libvirt'Makefile:1887: recipe for target 'all' failedmake: *** [all] Error 2
> It appears to me that somehow when the executable is linked together, it finds two separate definitions of the virNetMessageNew method, however I cannot figure out how that could be.
> If anybody has any suggestions on how to debug this I'd appreciate it.
> For clarity: my aim is to get the code to compile first, whether or not
> it will actually work under Cygwin. I do not believe there should be a
> specific reason why this code could not be made to compile/link - even
> if the end result may not work as intended... But I hope to find that
> out once I successfully create the resulting executables.

We don't do any testing on the Cygwin platform, so that you see errors
is not entirely surprising. Our supported Win32 builds are cross compiled
with the Mingw32 toolchain, so I'd really suggest using the latter unless
you're interested in digging into the build system to figure out why
Cygwin is failing.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list