[libvirt] [PATCH] fix MinGW compilation(200808)

Atsushi SAKAI sakaia at jp.fujitsu.com
Tue Aug 5 08:54:31 UTC 2008


Hi, Dan and Daniel

Thank you for commenting this.
I am digging into the problem domain_conf.c, network_conf.c and test driver.

Just for network_conf.c outputs following message.
====================================
 gcc -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -Ic:/MinGW/lib/GTK/include/libxml2 -DBINDIR=\"/usr/local/libexec\" -DSBINDIR=\"/usr/local/sbin\" -DSYSCONF_DIR=\"/usr/local/etc\" -DLOCALEBASEDIR=\"/usr/local/share/locale\" -DLOCAL_STATE_DIR=\"/usr/local/var\" -DGETTEXT_PACKAGE=\"libvirt\" -Wall -Wformat -Wformat-security -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Winline -Wredundant-decls -Wno-sign-compare -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fasynchronous-unwind-tables -DWITH_REMOTE -DIN_LIBVIRT -g -O2 -MT libvirt_la-network_conf.lo -MD -MP -MF .deps/libvirt_la-network_conf.Tpo -c network_conf.c  -DDLL_EXPORT -DPIC -o .libs/libvirt_la-network_conf.o
In file included from ../gnulib/lib/arpa/inet.h:24,
                 from network_conf.c:29:
../gnulib/lib/sys/socket.h:109: warning: declaration of 'socket' shadows a global declaration
c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winsock2.h:553: warning: shadowed declaration is here
network_conf.c: In function `virNetworkDefParseXML':
network_conf.c:290: warning: implicit declaration of function `inet_aton'
network_conf.c:290: warning: nested extern declaration of `inet_aton'
network_conf.c: In function `virNetworkSaveConfig':
network_conf.c:598: error: `S_IRUSR' undeclared (first use in this function)
network_conf.c:598: error: (Each undeclared identifier is reported only once
network_conf.c:598: error: for each function it appears in.)
network_conf.c:598: error: `S_IWUSR' undeclared (first use in this function)
make[3]: *** [libvirt_la-network_conf.lo] Error 1
make[3]: Leaving directory `/home/Administrator/work/libvirt-0.4.4/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/Administrator/work/libvirt-0.4.4/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Administrator/work/libvirt-0.4.4'
make: *** [all] Error 2
=========================================

Thanks
Atsushi SAKAI


"Daniel P. Berrange" <berrange at redhat.com> wrote:

> On Tue, Aug 05, 2008 at 04:03:41AM -0400, Daniel Veillard wrote:
> > On Tue, Aug 05, 2008 at 04:24:08PM +0900, Atsushi SAKAI wrote:
> > > Hi,
> > > 
> > > Currently, compilation for MinGW is broken.
> > > Here is the patch.
> > > But configure script option for MinGW is changed from previous posting.
> > > https://www.redhat.com/archives/libvir-list/2008-June/msg00145.html
> > > 
> > > Currently, it should do
> > > # ./configure --without-xen --without-qemu --without-sasl --without-lxc --without-openvz --without-libvirtd --without-test
> > 
> >   yes I made compilation with lxc and openvz default now, so changing this
> > is normal.
> > 
> > > currently following 3 make works,
> > > make
> > > make install
> > > make check
> > > I do not know why syntax-check is not exist on Makefile on MinGW.
> > 
> >   I would expect most development to still be done on Linux/Unix, so
> > that's not a big deal IMHO
> > 
> > >  src/domain_conf.c    |    2 ++
> > >  src/network_conf.c   |    2 ++
> > 
> >   basically the changes remove compilations from the XML parsing code.
> > On one end I understand why it's not needed (currently) but I wonder why
> > this need to be defined out. Seems to me the code should compile on WIN32
> > and that's an important point if we ever want to get some native hypervisor
> > support there.
> >   So what miscompiled there ? Can we fix it ? in the interim having the code
> > compiled out as the patch does is fine, but I would like to understand.
> 
> Yes, this is completely wrong. The test driver and all the generic network,
> and domain  XML code should all work on Windows. The only stuff we should
> be disabling is hypervisor drivers, and Linux specific bits of code.
> 
> Daniel
> -- 
> |: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
> |: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
> |: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
> |: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|





More information about the libvir-list mailing list