Hello again,
I may have been a bit to fast quick with my mail.
Now I was able to compile and link libvirt-0.4.3 (except for the tests
which depend on fork e.a.).
The htonl/ntohl prbem mentioned earliers was fixed by inserting
"#include <winsock2.h>" into qemud/remote_protocol.c.
I also had errors about fprintf in proxy/libvirt_proxy.c which were
fixed by inserting "#include <stdio.h>".
Previously I had already discovered src/internal.h needs "#include
<pthread.h>".
As for make install, I had to comment out the "chmod u+s" line in
proxy/Makefile, because win32 doesn't support this.
Finally I had an error because config.stat could not be found. I
resolved this with "ln -s config.status config.stat".
Now it's built I guess the next logical step would be testing.
It's a shame though the tests won't compile.
Any chance they could be rewritten using pthreads instead of fork?
Regards
Brecht Sanders
Brecht Sanders wrote:
Hi,
Some time passed by and I thought I'd have another go at compiling
libvirt for win32 using MinGW/MSYS again.
I tried to compile libvirt-0.4.3 and I got around most obstacles. Now
it just seems I am stuck when it is trying to link.
My search on google showed me that I am not the first one to see this
issue.
Usually i means -lws2_32 is in the wrong place. However I tried moving
it around without luck.
Also it doesn't make sense to me that only htonl and ntohl are
missing. It appears anything else used from the winsock library is
found during linking.
I feel we're very close to getting libvirt compiled on win32. Or do
you know if anyone already succeeded?
Regards
Brecht Sanders
gcc -shared .libs/libvirt_la-libvirt.o .libs/libvirt_la-memory.o
.libs/libvirt_la-hash.o .libs/libvirt_la-test.o .libs/libvirt_la-buf.o
.libs/libvirt_la-qparams.o .libs/libvirt_la-capabilities.o
.libs/libvirt_la-xml.o .libs/libvirt_la-event.o
.libs/libvirt_la-xen_unified.o .libs/libvirt_la-xen_internal.o
.libs/libvirt_la-xs_internal.o .libs/libvirt_la-xend_internal.o
.libs/libvirt_la-stats_linux.o .libs/libvirt_la-sexpr.o
.libs/libvirt_la-virterror.o .libs/libvirt_la-proxy_internal.o
.libs/libvirt_la-conf.o .libs/libvirt_la-xm_internal.o
.libs/libvirt_la-remote_internal.o .libs/libvirt_la-bridge.o
.libs/libvirt_la-iptables.o .libs/libvirt_la-uuid.o
.libs/libvirt_la-qemu_driver.o .libs/libvirt_la-qemu_conf.o
.libs/libvirt_la-openvz_conf.o .libs/libvirt_la-openvz_driver.o
.libs/libvirt_la-lxc_driver.o .libs/libvirt_la-lxc_conf.o
.libs/libvirt_la-lxc_container.o .libs/libvirt_la-nodeinfo.o
.libs/libvirt_la-util.o .libs/libvirt_la-remote_protocol.o
-Wl,--whole-archive ../gnulib/lib/.libs/libgnu.a
-Wl,--no-whole-archive -L/mingw/lib /mingw/lib/libxml2.dll.a
/mingw/lib/libgnutls.dll.a -L/home/bsanders/inst_libgcrypt-1.4.1/lib
-lintl -lpthread /mingw/lib/libportablexdr.dll.a -lws2_32
-Wl,--version-script=./libvirt_sym.version -o .libs/libvirt-0.dll
-Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker
.libs/libvirt.dll.a
Creating library file: .libs/libvirt.dll.a
.libs/libvirt_la-remote_protocol.o:remote_protocol.c:(.text+0xa46):
undefined reference to `htonl'
.libs/libvirt_la-remote_protocol.o:remote_protocol.c:(.text+0xa5f):
undefined reference to `htonl'
.libs/libvirt_la-remote_protocol.o:remote_protocol.c:(.text+0xa78):
undefined reference to `htonl'
.libs/libvirt_la-remote_protocol.o:remote_protocol.c:(.text+0xa91):
undefined reference to `htonl'
.libs/libvirt_la-remote_protocol.o:remote_protocol.c:(.text+0xaaa):
undefined reference to `htonl'
.libs/libvirt_la-remote_protocol.o:remote_protocol.c:(.text+0xac3):
more undefined references to `htonl' follow
.libs/libvirt_la-remote_protocol.o:remote_protocol.c:(.text+0xc5d):
undefined reference to `ntohl'
.libs/libvirt_la-remote_protocol.o:remote_protocol.c:(.text+0xc74):
undefined reference to `ntohl'
.libs/libvirt_la-remote_protocol.o:remote_protocol.c:(.text+0xc8b):
undefined reference to `ntohl'
.libs/libvirt_la-remote_protocol.o:remote_protocol.c:(.text+0xca2):
undefined reference to `ntohl'
.libs/libvirt_la-remote_protocol.o:remote_protocol.c:(.text+0xcb9):
undefined reference to `ntohl'
.libs/libvirt_la-remote_protocol.o:remote_protocol.c:(.text+0xccc):
more undefined references to `ntohl' follow
collect2: ld returned 1 exit status
make[2]: *** [libvirt.la] Error 1
make[2]: Leaving directory `/home/bsanders/libvirt-0.4.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/bsanders/libvirt-0.4.3'
make: *** [all] Error 2