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.
Thanks,
Maarten Jacobs