Devel
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
December 2007
- 18 participants
- 59 discussions
> Hi All,
> I'm new to Xen world and am in the process of collecting performance
> information of various guests from dom0. Can somebody help me out with
> these problems.
> 1. I downloaded libvirt-0.3.3 src and did a 'make' and I'm seeing this
> problem.
>
> xen_internal.c: In function 'xenHypervisorDomainGetOSType':
> xen_internal.c:2711: error: 'DOMFLAGS_HVM' undeclared (first use in
> this function)
> xen_internal.c:2711: error: (Each undeclared identifier is reported
> only once
> xen_internal.c:2711: error: for each function it appears in.)
> xen_internal.c: In function 'xenHypervisorGetDomInfo':
> xen_internal.c:2943: error: 'DOMFLAGS_HVM' undeclared (first use in
> this function)
> make[2]: *** [libvirt_la-xen_internal.lo] Error 1
>
> 2. I want to know what are the rpm that the Xen server must have to
> pull out the performance data of various guests.
>
> 3. My Xen server now has these rpms :
> # rpm -qa |grep libvirt
> libvirt-0.2.0-0.16
> libvirt-python-0.2.0-0.16
>
> Do I need any other rpms to compile my c programs ? Is there any
> document which says how I can compile my c-program using libvirt ? I
> tried running info1 example in debug mode and I get this error :
> ./info1
> libvirt: virConnectOpenReadOnly (name=(null))
> libvirt: virInitialize ()
> libvirt: virInitialize ()
> libvirt: virInitialize ()
> libvirt: virInitialize ()
> libvirt: virInitialize ()
> libvirt: virInitialize ()
> libvirt: virInitialize ()
> libvirt: virInitialize ()
> libvirt: virInitialize ()
> libvirt: do_open: proceeding with name=xen:///
> libvirt: do_open: trying driver 0 (Test) ...
> libvirt: do_open: driver 0 Test returned DECLINED
> libvirt: do_open: trying driver 1 (QEMU) ...
> libvirt: do_open: driver 1 QEMU returned DECLINED
> libvirt: do_open: trying driver 2 (Xen) ...
> libvirt: xenUnifiedOpen: trying Xen sub-driver 0
> libvirt: xenUnifiedOpen: Xen sub-driver 0 open ok
> libvirt: xenUnifiedOpen: trying Xen sub-driver 2
> libvirt: xenUnifiedOpen: Xen sub-driver 2 open ok
> libvirt: xenUnifiedOpen: trying Xen sub-driver 3
> libvir: Xen Store error : could not use Xen hypervisor entry failed to
> connect to Xen Store
> libvirt: xenUnifiedOpen: Xen sub-driver 3 open failed
> libvirt: do_open: driver 2 Xen returned ERROR
> Failed to connect to hypervisor
>
> 4. what is libvirt_proxy ? What is its use ?
> I assume this is used to connect to hypervisor (am I right ?) When I
> run this, it says "Failed to open Xen hypervisor"
>
> Is there any document which can give more details of all these details
> ?
> Any help will be greatly helpful
>
> Thanks,
> Vadiraj
>
3
3
I'm no good at reading relax/ng, but I think that this:
<group>
<ref name='os'/>
<optional>
<ref name='bootloader'/>
</optional>
</group>
<group>
<ref name='bootloader'/>
<optional>
<ref name='os'/>
</optional>
</group>
means I can specify either os, or bootloader, or both. The latter case
makes a lot of sense when using pygrub. However, src/xml.c doesn't
implement those semantics:
1219 if (!bootloader) {
1220 if ((node = virXPathNode("/domain/os[1]", ctxt)) != NULL) {
1221 /* Analyze of the os description, based on HVM or PV. */
1222 str = virXPathString("string(/domain/os/type[1])", ctxt);
I think that we should just remove the "if (!bootloader) {" bit here -
agree?
I'm looking at the schema and I don't see (at least)
domain/devices/input, which appears to be used in src/xml.c too - is the
schema out of date in 0.3.3 ? The tests don't pass xmllint!
thanks
john
2
2
08 Dec '07
--
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in
England and Wales under Company Registration No. 03798903
4
74
08 Dec '07
The PolicyKit auth code was invoking the authentication callback even if
the app hadn't indicated support for VIR_CREDENTIAL_EXTERNAL. The default
authentication callback was also not returning errors for credentials it
doesn't support. This patch fixes both those flaws
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules: http://search.cpan.org/~danberr/ -=|
|=- Projects: http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|
1
0
07 Dec '07
I realized that one of the NUMA API entry point didn't had a
binding in Python, the enclosed patch adds it, it's a method
on a virConnect class, taking the startCell and maxCells integer
parameters and returning a list of available memory for that
range of cell, using it should be as simple as launching python
as root after reinstallation of the libvirt library and bindings
and doing the following:
>>> import libvirt
>>> conn = libvirt.open(None)
>>> conn.getCellsFreeMemory(0, 20)
it should return the array of available heap for each of the
20 first cells in machine, but I can't test this at the moment.
Saori, Beth is there any chance you could test that patch ?
thanks,
Daniel
--
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard | virtualization library http://libvirt.org/
veillard(a)redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
3
4
There are still a few bits which don't work.
Also attached, the output of './configure --without-xen --without-qemu
--without-sasl', and the output of 'make -k' after the second time it
has run (so you just see which bits fail to compile).
Some tips:
* Install MinGW and MSYS. MSYS 1.0.10 under Vista has known problems
(MinGW bug 1593268) so you'll also need to install the tech preview
versions of: gcc, gdb, binutils, w32api.
* Build and install libxml2.
* Install gnutls. There are binaries for Windows available on their site.
* Install SunRPC from http://www.plt.rwth-aachen.de/index.php?id=258.
* Get libvirt from CVS, apply the patch below, run ./bootstrap and
./autogen.sh (you'll have to do this from a Linux machine).
* Set the following environment variables under Windows:
gnutls=/c/Users/rjones/Desktop/gnutls
oncrpc=/c/oncrpc
CC=gcc-sjlj
CFLAGS="-I $gnutls/include -I $oncrpc"
LDFLAGS="-L $gnutls/lib -L $oncrpc/bin"
PATH=$oncrpc/bin:$PATH
export CC CFLAGS LDFLAGS PATH
* Enable config.cache (./configure -C) because shell scripts under
Windows are slooooooooow.
Rich.
--
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in
England and Wales under Company Registration No. 03798903
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... i686-pc-mingw32
checking host system type... i686-pc-mingw32
checking for gcc... gcc-sjlj
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc-sjlj accepts -g... yes
checking for gcc-sjlj option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc-sjlj... gcc3
checking for a BSD-compatible install... /bin/install -c
checking how to run the C preprocessor... gcc-sjlj -E
checking for ranlib... ranlib
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for working alloca.h... no
checking for alloca... yes
checking arpa/inet.h usability... no
checking arpa/inet.h presence... no
checking for arpa/inet.h... no
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking sys/socket.h usability... no
checking sys/socket.h presence... no
checking for sys/socket.h... no
checking netdb.h usability... no
checking netdb.h presence... no
checking for netdb.h... no
checking netinet/in.h usability... no
checking netinet/in.h presence... no
checking for netinet/in.h... no
checking sys/ioctl.h usability... no
checking sys/ioctl.h presence... no
checking for sys/ioctl.h... no
checking sys/filio.h usability... no
checking sys/filio.h presence... no
checking for sys/filio.h... no
checking for stdint.h... (cached) yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/select.h usability... no
checking sys/select.h presence... no
checking for sys/select.h... no
checking for sys/stat.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking whether the preprocessor supports include_next... yes
checking whether <sys/socket.h> is self-contained... no
checking winsock2.h usability... yes
checking winsock2.h presence... yes
checking for winsock2.h... yes
checking ws2tcpip.h usability... yes
checking ws2tcpip.h presence... yes
checking for ws2tcpip.h... yes
checking for C/C++ restrict keyword... __restrict
checking for IPv4 sockets... yes
checking for IPv6 sockets... no
checking for inline... inline
checking whether malloc, realloc, calloc are POSIX compliant... no
checking for external symbol _system_configuration... no
checking whether snprintf is declared... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for long long int... yes
checking for unsigned long long int... yes
checking whether strdup is declared... yes
checking whether strndup is declared... no
checking whether strnlen is declared... no
checking for lstat... no
checking for vasnprintf... no
checking whether stat file-mode macros are broken... no
checking for struct timeval... yes
checking for EOVERFLOW... E2BIG
checking for size_t... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for intmax_t... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
configure: checking how to do getaddrinfo, freeaddrinfo and getnameinfo
checking for library containing getaddrinfo... no
checking for getaddrinfo... no
checking for getaddrinfo in ws2tcpip.h and -lws2_32... no
checking for gai_strerror (possibly via ws2tcpip.h)... yes
checking for library containing gethostbyname... no
checking for library containing getservbyname... no
checking for gethostbyname... no
checking for gethostbyname in winsock2.h and -lws2_32... yes
checking whether getaddrinfo is declared... no
checking whether freeaddrinfo is declared... no
checking whether gai_strerror is declared... yes
checking whether getnameinfo is declared... no
checking for struct addrinfo... yes
checking for inet_ntop... no
checking whether inet_ntop is declared... no
checking whether <netinet/in.h> is self-contained... no
checking for netinet/in.h... (cached) no
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for sys/pstat.h... no
checking for sys/sysmp.h... no
checking for sys/sysinfo.h... no
checking for machine/hal_sysinfo.h... no
checking for sys/table.h... no
checking for sys/param.h... yes
checking for sys/sysctl.h... no
checking for sys/systemcfg.h... no
checking for pstat_getstatic... no
checking for pstat_getdynamic... no
checking for sysmp... no
checking for getsysinfo... no
checking for sysctl... no
checking for table... no
checking poll.h usability... no
checking poll.h presence... no
checking for poll.h... no
checking for stdint.h... (cached) yes
checking for SIZE_MAX... yes
checking for snprintf... yes
checking for socklen_t... yes
checking whether stdint.h conforms to C99... yes
checking for wchar_t... yes
checking for wint_t... yes
checking for strdup... yes
checking for working strndup... no
checking for working strnlen... no
checking for strpbrk... yes
checking for strsep... no
checking whether <sys/select.h> is self-contained... no
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking whether <sys/socket.h> is self-contained... (cached) no
checking for winsock2.h... (cached) yes
checking for ws2tcpip.h... (cached) yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for shutdown... no
checking whether mkdir is declared... no
checking io.h usability... yes
checking io.h presence... yes
checking for io.h... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for ptrdiff_t... yes
checking for snprintf... (cached) yes
checking for wcslen... yes
checking whether _snprintf is declared... yes
checking for vasprintf... no
checking whether <wchar.h> is standalone... yes
checking for stdint.h... (cached) yes
checking for gcc... (cached) gcc-sjlj
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc-sjlj accepts -g... (cached) yes
checking for gcc-sjlj option to accept ISO C89... (cached) none needed
checking dependency style of gcc-sjlj... (cached) gcc3
checking for an ANSI C-conforming const... yes
checking for function prototypes... yes
checking for string.h... (cached) yes
checking for a sed that does not truncate output... /bin/sed
checking for ld used by gcc-sjlj... c:/mingw/mingw32/bin/ld.exe
checking if the linker (c:/mingw/mingw32/bin/ld.exe) is GNU ld... yes
checking for c:/mingw/mingw32/bin/ld.exe option to reload object files... -r
checking for BSD-compatible nm... /mingw/bin/nm
checking whether ln -s works... no, using cp -p
checking how to recognize dependent libraries... file_magic file format pei*-i386(.*architecture: i386)?
checking for dlltool... dlltool
checking for as... as
checking for objdump... objdump
checking dlfcn.h usability... no
checking dlfcn.h presence... no
checking for dlfcn.h... no
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking dependency style of g++... none
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... no
checking for g95... no
checking for xlf95... no
checking for f95... no
checking for fort... no
checking for ifort... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for ftn... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether accepts -g... no
checking the maximum length of command line arguments... 8192
checking command to parse /mingw/bin/nm output from gcc-sjlj object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... (cached) ranlib
checking for strip... strip
checking if gcc-sjlj supports -fno-rtti -fno-exceptions... no
checking for gcc-sjlj option to produce PIC... -DDLL_EXPORT
checking if gcc-sjlj PIC flag -DDLL_EXPORT works... yes
checking if gcc-sjlj static flag -static works... yes
checking if gcc-sjlj supports -c -o file.o... yes
checking whether the gcc-sjlj linker (c:/mingw/mingw32/bin/ld.exe) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
appending configuration tag "F77" to libtool
checking whether gcc-sjlj and cc understand -c and -o together... yes
checking whether gcc understands -Wall... yes
checking whether gcc understands -Wformat... yes
checking whether gcc understands -Wformat-security... yes
checking whether gcc understands -Wmissing-prototypes... yes
checking whether gcc understands -Wnested-externs... yes
checking whether gcc understands -Wpointer-arith... yes
checking whether gcc understands -Wextra... yes
checking whether gcc understands -Wshadow... yes
checking whether gcc understands -Wcast-align... yes
checking whether gcc understands -Wwrite-strings... yes
checking whether gcc understands -Waggregate-return... yes
checking whether gcc understands -Wstrict-prototypes... yes
checking whether gcc understands -Winline... yes
checking whether gcc understands -Wredundant-decls... yes
checking whether gcc understands -Wno-sign-compare... yes
checking whether gcc understands -Wp,-D_FORTIFY_SOURCE=2... yes
checking whether gcc understands -fexceptions... yes
checking whether gcc understands -fasynchronous-unwind-tables... yes
checking what language compliance flags to pass to the C compiler...
checking for cfmakeraw... no
checking for regexec... no
checking for uname... no
checking libintl.h usability... no
checking libintl.h presence... no
checking for libintl.h... no
checking pwd.h usability... no
checking pwd.h presence... no
checking for pwd.h... no
checking paths.h usability... no
checking paths.h presence... no
checking for paths.h... no
checking sys/syslimits.h usability... no
checking sys/syslimits.h presence... no
checking for sys/syslimits.h... no
checking sys/utsname.h usability... no
checking sys/utsname.h presence... no
checking for sys/utsname.h... no
checking sys/wait.h usability... no
checking sys/wait.h presence... no
checking for sys/wait.h... no
checking winsock.h usability... yes
checking winsock.h presence... yes
checking for winsock.h... yes
checking for library containing xdrmem_create... no
checking for rpcgen... /c/oncrpc/bin/rpcgen
checking for rm... /bin/rm
checking for mv... /bin/mv
checking for tar... /bin/tar
checking for xmllint... /usr/local/bin/xmllint
checking for xsltproc... /usr/bin/xsltproc
checking for dnsmasq... dnsmasq
checking for brctl... brctl
checking where to write libvirtd PID file... ${prefix}/var/run/libvirtd.pid
checking for init script flavor... none
checking for iptables... /sbin/iptables
checking for pkg-config... no
checking libxml2 xml2-config >= 2.5.0 ... yes
checking for struct _xmlURI.query_raw... yes
checking gnutls/gnutls.h usability... yes
checking gnutls/gnutls.h presence... no
configure: WARNING: gnutls/gnutls.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: gnutls/gnutls.h: proceeding with the compiler's result
checking for gnutls/gnutls.h... yes
checking for gnutls_handshake in -lgnutls... yes
checking for gnutls_session... yes
checking readline/readline.h usability... no
checking readline/readline.h presence... no
checking for readline/readline.h... no
checking for main in -lreadline... no
configure: WARNING: readline library not found
checking for python... no
checking whether this host is running a Xen kernel... no
checking If XenD UNIX socket /var/run/xend/xmlrpc.sock is accessible... no
checking if Xen setuid proxy is needed... no
checking whether NLS is requested... yes
checking for msgfmt... no
checking for gmsgfmt... :
checking for xgettext... no
checking for msgmerge... no
checking for ld used by GCC... c:/mingw/mingw32/bin/ld.exe
checking if the linker (c:/mingw/mingw32/bin/ld.exe) is GNU ld... yes
checking for shared library run path origin... done
checking whether NLS is requested... yes
checking for GNU gettext in libc... no
checking for iconv... no, consider installing GNU libiconv
checking for GNU gettext in libintl... no
checking whether to use NLS... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating include/Makefile
config.status: creating docs/Makefile
config.status: creating docs/examples/Makefile
config.status: creating docs/devhelp/Makefile
config.status: creating docs/examples/python/Makefile
config.status: creating gnulib/lib/Makefile
config.status: creating gnulib/tests/Makefile
config.status: creating libvirt.pc
config.status: creating libvirt.spec
config.status: creating po/Makefile.in
config.status: WARNING: po/Makefile.in.in seems to ignore the --datarootdir setting
config.status: creating scripts/Makefile
config.status: creating include/libvirt/Makefile
config.status: creating include/libvirt/libvirt.h
config.status: creating python/Makefile
config.status: creating python/tests/Makefile
config.status: creating qemud/Makefile
config.status: creating tests/Makefile
config.status: creating proxy/Makefile
config.status: creating tests/xml2sexprdata/Makefile
config.status: creating tests/sexpr2xmldata/Makefile
config.status: creating tests/xmconfigdata/Makefile
config.status: creating tests/xencapsdata/Makefile
config.status: creating tests/virshdata/Makefile
config.status: creating tests/confdata/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
configure:
configure: Configuration summary
configure: =====================
configure:
configure: Drivers
configure:
configure: Xen: no
configure: Proxy: no
configure: QEMU: no
configure: OpenVZ: no
configure: Test: yes
configure: Remote: yes
configure:
configure: Libraries
configure:
configure: libxml: -I/usr/local/include/libxml2 -L/usr/local/lib -lxml2 -lws2_32
configure: gnutls: -lgnutls -lws2_32
configure: sasl: no
configure: avahi: no
configure: polkit: no
configure:
configure: Miscellaneous
configure:
configure: Debug: no
configure: Readline: no
configure:
make all-recursive
make[1]: Entering directory `/z/d/libvirt-mingw'
Making all in gnulib/lib
make[2]: Entering directory `/z/d/libvirt-mingw/gnulib/lib'
make all-am
make[3]: Entering directory `/z/d/libvirt-mingw/gnulib/lib'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/z/d/libvirt-mingw/gnulib/lib'
make[2]: Leaving directory `/z/d/libvirt-mingw/gnulib/lib'
Making all in include
make[2]: Entering directory `/z/d/libvirt-mingw/include'
Making all in libvirt
make[3]: Entering directory `/z/d/libvirt-mingw/include/libvirt'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/z/d/libvirt-mingw/include/libvirt'
make[3]: Entering directory `/z/d/libvirt-mingw/include'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/z/d/libvirt-mingw/include'
make[2]: Leaving directory `/z/d/libvirt-mingw/include'
Making all in src
make[2]: Entering directory `/z/d/libvirt-mingw/src'
/bin/sh ../libtool --tag=CC --mode=compile gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -I/usr/local/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_TEST -DWITH_REMOTE -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT libvirt_la-remote_internal.lo -MD -MP -MF .deps/libvirt_la-remote_internal.Tpo -c -o libvirt_la-remote_internal.lo `test -f 'remote_internal.c' || echo './'`remote_internal.c
gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -I/usr/local/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_TEST -DWITH_REMOTE -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT libvirt_la-remote_internal.lo -MD -MP -MF .deps/libvirt_la-remote_internal.Tpo -c remote_internal.c -DDLL_EXPORT -DPIC -o .libs/libvirt_la-remote_internal.o
In file included from ../gnulib/lib/sys/stat.h:28,
from remote_internal.c:34:
../gnulib/lib/sys/stat.h:272: warning: unused parameter 'mode'
In file included from remote_internal.c:59:
c:/oncrpc/rpc/xdr.h:116: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:127: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:128: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:129: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:130: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:131: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:132: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:133: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:134: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:242: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:243: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:244: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:245: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:246: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:247: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:248: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:249: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:250: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:251: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:252: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:253: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:254: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:255: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:256: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:257: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:258: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:259: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:260: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:261: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:262: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:263: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:275: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:281: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:282: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:283: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:284: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:285: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:286: warning: function declaration isn't a prototype
In file included from ../gnulib/lib/sys/socket.h:65,
from ../gnulib/lib/getaddrinfo.h:29,
from remote_internal.c:74:
c:\mingw\bin\../lib/gcc/mingw32/4.2.1-sjlj/../../../../include/ws2tcpip.h:16:2: error: #error "ws2tcpip.h is not compatible with winsock.h. Include winsock2.h instead."
In file included from ../gnulib/lib/sys/socket.h:65,
from ../gnulib/lib/getaddrinfo.h:29,
from remote_internal.c:74:
c:\mingw\bin\../lib/gcc/mingw32/4.2.1-sjlj/../../../../include/ws2tcpip.h:124: error: redefinition of 'struct ip_mreq'
In file included from ../qemud/remote_protocol.h:9,
from remote_internal.c:76:
c:/oncrpc/rpc/rpc.h:52:1: warning: "FD_SETSIZE" redefined
In file included from remote_internal.c:55:
c:\mingw\bin\../lib/gcc/mingw32/4.2.1-sjlj/../../../../include/winsock.h:35:1: warning: this is the location of the previous definition
In file included from ../qemud/remote_protocol.h:9,
from remote_internal.c:76:
c:/oncrpc/rpc/rpc.h:71: warning: function declaration isn't a prototype
In file included from ../qemud/remote_protocol.h:9,
from remote_internal.c:76:
c:/oncrpc/rpc/rpc.h:74: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:89,
from ../qemud/remote_protocol.h:9,
from remote_internal.c:76:
c:/oncrpc/rpc/auth.h:105: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:125: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:126: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:127: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:128: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:129: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:196: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:197: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:198: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:199: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:92,
from ../qemud/remote_protocol.h:9,
from remote_internal.c:76:
c:/oncrpc/rpc/clnt.h:134: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:135: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:136: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:137: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:138: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:139: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:256: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:263: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:284: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:307: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:308: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:313: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:314: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:319: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:324: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:325: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:353: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:95,
from ../qemud/remote_protocol.h:9,
from remote_internal.c:76:
c:/oncrpc/rpc/rpc_msg.h:184: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:192: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:200: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:208: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:97,
from ../qemud/remote_protocol.h:9,
from remote_internal.c:76:
c:/oncrpc/rpc/auth_uni.h:84: warning: function declaration isn't a prototype
In file included from ../qemud/remote_protocol.h:9,
from remote_internal.c:76:
c:/oncrpc/rpc/rpc.h:105:29: warning: "/*" within comment
In file included from c:/oncrpc/rpc/rpc.h:108,
from ../qemud/remote_protocol.h:9,
from remote_internal.c:76:
c:/oncrpc/rpc/svc.h:94: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:95: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:96: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:97: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:98: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:99: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:108,
from ../qemud/remote_protocol.h:9,
from remote_internal.c:76:
c:/oncrpc/rpc/svc.h:173:19: warning: "/*" within comment
c:/oncrpc/rpc/svc.h:175: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:184: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:192: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:200: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:231: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:232: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:233: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:234: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:235: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:236: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:237: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:238: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:278: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:280: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:281: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:282: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:296: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:301: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:302: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:307: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:109,
from ../qemud/remote_protocol.h:9,
from remote_internal.c:76:
c:/oncrpc/rpc/svc_auth.h:56: error: 'auth_stat' defined as wrong kind of tag
c:/oncrpc/rpc/svc_auth.h:56: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:117,
from ../qemud/remote_protocol.h:9,
from remote_internal.c:76:
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
In file included from remote_internal.c:76:
../qemud/remote_protocol.h:78: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:88: error: expected specifier-qualifier-list before 'quad_t'
../qemud/remote_protocol.h:124: error: expected specifier-qualifier-list before 'quad_t'
../qemud/remote_protocol.h:145: error: expected specifier-qualifier-list before 'quad_t'
../qemud/remote_protocol.h:201: error: expected specifier-qualifier-list before 'quad_t'
../qemud/remote_protocol.h:216: error: expected specifier-qualifier-list before 'quad_t'
../qemud/remote_protocol.h:328: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:334: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:340: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:351: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:389: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:411: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:424: error: expected specifier-qualifier-list before 'u_quad_t'
remote_internal.c: In function 'remoteForkDaemon':
remote_internal.c:247: warning: implicit declaration of function 'fork'
remote_internal.c:252: error: '_PATH_DEVNULL' undeclared (first use in this function)
remote_internal.c:252: error: (Each undeclared identifier is reported only once
remote_internal.c:252: error: for each function it appears in.)
remote_internal.c:269: warning: implicit declaration of function 'sysconf'
remote_internal.c:269: warning: nested extern declaration of 'sysconf'
remote_internal.c:269: error: '_SC_OPEN_MAX' undeclared (first use in this function)
remote_internal.c:276: warning: implicit declaration of function 'setsid'
remote_internal.c:276: warning: nested extern declaration of 'setsid'
remote_internal.c:299: warning: implicit declaration of function 'waitpid'
remote_internal.c:299: warning: nested extern declaration of 'waitpid'
remote_internal.c: In function 'doRemoteOpen':
remote_internal.c:513: error: 'AI_ADDRCONFIG' undeclared (first use in this function)
remote_internal.c:579: error: 'uid_t' undeclared (first use in this function)
remote_internal.c:579: error: expected ';' before 'uid'
remote_internal.c:581: warning: implicit declaration of function 'getpwuid'
remote_internal.c:581: warning: nested extern declaration of 'getpwuid'
remote_internal.c:581: error: 'uid' undeclared (first use in this function)
remote_internal.c:581: warning: assignment makes pointer from integer without a cast
remote_internal.c:586: error: dereferencing pointer to incomplete type
remote_internal.c:605: error: storage size of 'addr' isn't known
remote_internal.c:628: error: 'ECONNREFUSED' undeclared (first use in this function)
remote_internal.c:635: warning: implicit declaration of function 'usleep'
remote_internal.c:635: warning: nested extern declaration of 'usleep'
remote_internal.c:605: warning: unused variable 'addr'
remote_internal.c:703: warning: implicit declaration of function 'socketpair'
remote_internal.c:703: warning: nested extern declaration of 'socketpair'
remote_internal.c:731: warning: passing argument 2 of 'execvp' from incompatible pointer type
remote_internal.c: In function 'remoteOpen':
remote_internal.c:837: warning: implicit declaration of function 'getuid'
remote_internal.c:837: warning: nested extern declaration of 'getuid'
remote_internal.c: In function 'remoteVersion':
remote_internal.c:1421: error: 'remote_get_version_ret' has no member named 'hv_ver'
remote_internal.c: In function 'remoteNodeGetInfo':
remote_internal.c:1472: error: 'remote_node_get_info_ret' has no member named 'memory'
remote_internal.c:1473: error: 'remote_node_get_info_ret' has no member named 'cpus'
remote_internal.c:1474: error: 'remote_node_get_info_ret' has no member named 'mhz'
remote_internal.c:1475: error: 'remote_node_get_info_ret' has no member named 'nodes'
remote_internal.c:1476: error: 'remote_node_get_info_ret' has no member named 'sockets'
remote_internal.c:1477: error: 'remote_node_get_info_ret' has no member named 'cores'
remote_internal.c:1478: error: 'remote_node_get_info_ret' has no member named 'threads'
remote_internal.c: In function 'remoteListDomains':
remote_internal.c:1520: warning: implicit declaration of function 'xdr_free'
remote_internal.c:1520: warning: nested extern declaration of 'xdr_free'
remote_internal.c: In function 'remoteDomainGetMaxMemory':
remote_internal.c:1752: error: 'remote_domain_get_max_memory_ret' has no member named 'memory'
remote_internal.c:1753: warning: control reaches end of non-void function
remote_internal.c: In function 'remoteDomainSetMaxMemory':
remote_internal.c:1762: error: 'remote_domain_set_max_memory_args' has no member named 'memory'
remote_internal.c: In function 'remoteDomainSetMemory':
remote_internal.c:1779: error: 'remote_domain_set_memory_args' has no member named 'memory'
remote_internal.c: In function 'remoteDomainGetInfo':
remote_internal.c:1805: error: 'remote_domain_get_info_ret' has no member named 'max_mem'
remote_internal.c:1806: error: 'remote_domain_get_info_ret' has no member named 'memory'
remote_internal.c:1807: error: 'remote_domain_get_info_ret' has no member named 'nr_virt_cpu'
remote_internal.c:1808: error: 'remote_domain_get_info_ret' has no member named 'cpu_time'
remote_internal.c: In function 'remoteDomainGetVcpus':
remote_internal.c:1956: error: 'remote_vcpu_info' has no member named 'cpu_time'
remote_internal.c:1957: error: 'remote_vcpu_info' has no member named 'cpu'
remote_internal.c: In function 'remoteDomainMigratePrepare':
remote_internal.c:2017: error: 'remote_domain_migrate_prepare_args' has no member named 'flags'
remote_internal.c:2018: error: 'remote_domain_migrate_prepare_args' has no member named 'dname'
remote_internal.c:2019: error: 'remote_domain_migrate_prepare_args' has no member named 'resource'
remote_internal.c: In function 'remoteDomainMigratePerform':
remote_internal.c:2053: error: 'remote_domain_migrate_perform_args' has no member named 'flags'
remote_internal.c:2054: error: 'remote_domain_migrate_perform_args' has no member named 'dname'
remote_internal.c:2055: error: 'remote_domain_migrate_perform_args' has no member named 'resource'
remote_internal.c: In function 'remoteDomainMigrateFinish':
remote_internal.c:2082: error: 'remote_domain_migrate_finish_args' has no member named 'flags'
remote_internal.c: In function 'remoteDomainGetSchedulerParameters':
remote_internal.c:2334: error: 'union <anonymous>' has no member named 'l'
remote_internal.c:2336: error: 'union <anonymous>' has no member named 'ul'
remote_internal.c:2338: error: 'union <anonymous>' has no member named 'd'
remote_internal.c:2340: error: 'union <anonymous>' has no member named 'b'
remote_internal.c: In function 'remoteDomainSetSchedulerParameters':
remote_internal.c:2386: error: 'union <anonymous>' has no member named 'l'
remote_internal.c:2388: error: 'union <anonymous>' has no member named 'ul'
remote_internal.c:2390: error: 'union <anonymous>' has no member named 'd'
remote_internal.c:2392: error: 'union <anonymous>' has no member named 'b'
remote_internal.c: In function 'remoteDomainBlockStats':
remote_internal.c:2430: error: 'remote_domain_block_stats_ret' has no member named 'rd_req'
remote_internal.c:2431: error: 'remote_domain_block_stats_ret' has no member named 'rd_bytes'
remote_internal.c:2432: error: 'remote_domain_block_stats_ret' has no member named 'wr_req'
remote_internal.c:2433: error: 'remote_domain_block_stats_ret' has no member named 'wr_bytes'
remote_internal.c:2434: error: 'remote_domain_block_stats_ret' has no member named 'errs'
remote_internal.c: In function 'remoteDomainInterfaceStats':
remote_internal.c:2458: error: 'remote_domain_interface_stats_ret' has no member named 'rx_bytes'
remote_internal.c:2459: error: 'remote_domain_interface_stats_ret' has no member named 'rx_packets'
remote_internal.c:2460: error: 'remote_domain_interface_stats_ret' has no member named 'rx_errs'
remote_internal.c:2461: error: 'remote_domain_interface_stats_ret' has no member named 'rx_drop'
remote_internal.c:2462: error: 'remote_domain_interface_stats_ret' has no member named 'tx_bytes'
remote_internal.c:2463: error: 'remote_domain_interface_stats_ret' has no member named 'tx_packets'
remote_internal.c:2464: error: 'remote_domain_interface_stats_ret' has no member named 'tx_errs'
remote_internal.c:2465: error: 'remote_domain_interface_stats_ret' has no member named 'tx_drop'
make[2]: *** [libvirt_la-remote_internal.lo] Error 1
/bin/sh ../libtool --tag=CC --mode=compile gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -I/usr/local/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_TEST -DWITH_REMOTE -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT libvirt_la-iptables.lo -MD -MP -MF .deps/libvirt_la-iptables.Tpo -c -o libvirt_la-iptables.lo `test -f 'iptables.c' || echo './'`iptables.c
gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -I/usr/local/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_TEST -DWITH_REMOTE -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT libvirt_la-iptables.lo -MD -MP -MF .deps/libvirt_la-iptables.Tpo -c iptables.c -DDLL_EXPORT -DPIC -o .libs/libvirt_la-iptables.o
In file included from ../gnulib/lib/sys/stat.h:28,
from iptables.c:35:
../gnulib/lib/sys/stat.h:272: warning: unused parameter 'mode'
iptables.c: In function 'iptablesSpawn':
iptables.c:355: error: '_PATH_DEVNULL' undeclared (first use in this function)
iptables.c:355: error: (Each undeclared identifier is reported only once
iptables.c:355: error: for each function it appears in.)
iptables.c:358: warning: implicit declaration of function 'fork'
iptables.c:373: warning: passing argument 2 of 'execvp' from incompatible pointer type
iptables.c:381: warning: implicit declaration of function 'waitpid'
iptables.c:381: warning: nested extern declaration of 'waitpid'
iptables.c:388: warning: implicit declaration of function 'WIFEXITED'
iptables.c:388: warning: nested extern declaration of 'WIFEXITED'
iptables.c:388: warning: implicit declaration of function 'WEXITSTATUS'
iptables.c:388: warning: nested extern declaration of 'WEXITSTATUS'
make[2]: *** [libvirt_la-iptables.lo] Error 1
/bin/sh ../libtool --tag=CC --mode=compile gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -I/usr/local/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_TEST -DWITH_REMOTE -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT libvirt_la-util.lo -MD -MP -MF .deps/libvirt_la-util.Tpo -c -o libvirt_la-util.lo `test -f 'util.c' || echo './'`util.c
gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -I/usr/local/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_TEST -DWITH_REMOTE -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT libvirt_la-util.lo -MD -MP -MF .deps/libvirt_la-util.Tpo -c util.c -DDLL_EXPORT -DPIC -o .libs/libvirt_la-util.o
util.c:33:19: error: paths.h: No such file or directory
In file included from ../gnulib/lib/sys/stat.h:28,
from util.c:36:
../gnulib/lib/sys/stat.h:272: warning: unused parameter 'mode'
util.c: In function 'virExec':
util.c:213: warning: implicit declaration of function 'ReportError'
util.c:213: warning: nested extern declaration of 'ReportError'
make[2]: *** [libvirt_la-util.lo] Error 1
/bin/sh ../libtool --tag=CC --mode=compile gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -I/usr/local/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_TEST -DWITH_REMOTE -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT libvirt_la-remote_protocol.lo -MD -MP -MF .deps/libvirt_la-remote_protocol.Tpo -c -o libvirt_la-remote_protocol.lo `test -f '../qemud/remote_protocol.c' || echo './'`../qemud/remote_protocol.c
gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -I/usr/local/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_TEST -DWITH_REMOTE -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT libvirt_la-remote_protocol.lo -MD -MP -MF .deps/libvirt_la-remote_protocol.Tpo -c ../qemud/remote_protocol.c -DDLL_EXPORT -DPIC -o .libs/libvirt_la-remote_protocol.o
In file included from ../gnulib/lib/string.h:23,
from c:\mingw\bin\../lib/gcc/mingw32/4.2.1-sjlj/../../../../include/winnt.h:37,
from c:\mingw\bin\../lib/gcc/mingw32/4.2.1-sjlj/../../../../include/windef.h:253,
from c:\mingw\bin\../lib/gcc/mingw32/4.2.1-sjlj/../../../../include/windows.h:48,
from c:\mingw\bin\../lib/gcc/mingw32/4.2.1-sjlj/../../../../include/winsock.h:19,
from c:/oncrpc/rpc/rpc.h:55,
from ../qemud/remote_protocol.h:9,
from ../qemud/remote_protocol.c:6:
../gnulib/lib/string.h:283: error: expected ';', ',' or ')' before '__stringp'
In file included from ../qemud/remote_protocol.h:9,
from ../qemud/remote_protocol.c:6:
c:/oncrpc/rpc/rpc.h:71: warning: function declaration isn't a prototype
In file included from ../qemud/remote_protocol.h:9,
from ../qemud/remote_protocol.c:6:
c:/oncrpc/rpc/rpc.h:74: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:86,
from ../qemud/remote_protocol.h:9,
from ../qemud/remote_protocol.c:6:
c:/oncrpc/rpc/xdr.h:116: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:127: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:128: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:129: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:130: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:131: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:132: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:133: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:134: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:242: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:243: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:244: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:245: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:246: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:247: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:248: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:249: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:250: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:251: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:252: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:253: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:254: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:255: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:256: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:257: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:258: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:259: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:260: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:261: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:262: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:263: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:275: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:281: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:282: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:283: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:284: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:285: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:286: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:89,
from ../qemud/remote_protocol.h:9,
from ../qemud/remote_protocol.c:6:
c:/oncrpc/rpc/auth.h:105: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:125: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:126: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:127: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:128: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:129: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:196: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:197: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:198: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:199: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:92,
from ../qemud/remote_protocol.h:9,
from ../qemud/remote_protocol.c:6:
c:/oncrpc/rpc/clnt.h:134: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:135: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:136: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:137: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:138: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:139: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:256: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:263: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:284: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:307: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:308: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:313: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:314: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:319: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:324: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:325: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:353: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:95,
from ../qemud/remote_protocol.h:9,
from ../qemud/remote_protocol.c:6:
c:/oncrpc/rpc/rpc_msg.h:184: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:192: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:200: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:208: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:97,
from ../qemud/remote_protocol.h:9,
from ../qemud/remote_protocol.c:6:
c:/oncrpc/rpc/auth_uni.h:84: warning: function declaration isn't a prototype
In file included from ../qemud/remote_protocol.h:9,
from ../qemud/remote_protocol.c:6:
c:/oncrpc/rpc/rpc.h:105:29: warning: "/*" within comment
In file included from c:/oncrpc/rpc/rpc.h:108,
from ../qemud/remote_protocol.h:9,
from ../qemud/remote_protocol.c:6:
c:/oncrpc/rpc/svc.h:94: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:95: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:96: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:97: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:98: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:99: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:108,
from ../qemud/remote_protocol.h:9,
from ../qemud/remote_protocol.c:6:
c:/oncrpc/rpc/svc.h:173:19: warning: "/*" within comment
c:/oncrpc/rpc/svc.h:175: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:184: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:192: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:200: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:231: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:232: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:233: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:234: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:235: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:236: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:237: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:238: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:278: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:280: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:281: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:282: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:296: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:301: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:302: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:307: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:109,
from ../qemud/remote_protocol.h:9,
from ../qemud/remote_protocol.c:6:
c:/oncrpc/rpc/svc_auth.h:56: error: 'auth_stat' defined as wrong kind of tag
c:/oncrpc/rpc/svc_auth.h:56: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:117,
from ../qemud/remote_protocol.h:9,
from ../qemud/remote_protocol.c:6:
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
In file included from ../qemud/remote_protocol.c:6:
../qemud/remote_protocol.h:78: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:88: error: expected specifier-qualifier-list before 'quad_t'
../qemud/remote_protocol.h:124: error: expected specifier-qualifier-list before 'quad_t'
../qemud/remote_protocol.h:145: error: expected specifier-qualifier-list before 'quad_t'
../qemud/remote_protocol.h:201: error: expected specifier-qualifier-list before 'quad_t'
../qemud/remote_protocol.h:216: error: expected specifier-qualifier-list before 'quad_t'
../qemud/remote_protocol.h:328: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:334: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:340: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:351: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:389: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:411: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.h:424: error: expected specifier-qualifier-list before 'u_quad_t'
../qemud/remote_protocol.c: In function 'xdr_remote_vcpu_info':
../qemud/remote_protocol.c:124: warning: implicit declaration of function 'xdr_u_quad_t'
../qemud/remote_protocol.c:124: warning: nested extern declaration of 'xdr_u_quad_t'
../qemud/remote_protocol.c:124: error: 'remote_vcpu_info' has no member named 'cpu_time'
../qemud/remote_protocol.c:126: error: 'remote_vcpu_info' has no member named 'cpu'
../qemud/remote_protocol.c: In function 'xdr_remote_sched_param_value':
../qemud/remote_protocol.c:146: warning: implicit declaration of function 'xdr_quad_t'
../qemud/remote_protocol.c:146: warning: nested extern declaration of 'xdr_quad_t'
../qemud/remote_protocol.c:146: error: 'union <anonymous>' has no member named 'l'
../qemud/remote_protocol.c:150: error: 'union <anonymous>' has no member named 'ul'
../qemud/remote_protocol.c:154: error: 'union <anonymous>' has no member named 'd'
../qemud/remote_protocol.c:158: error: 'union <anonymous>' has no member named 'b'
../qemud/remote_protocol.c: In function 'xdr_remote_get_version_ret':
../qemud/remote_protocol.c:220: error: 'remote_get_version_ret' has no member named 'hv_ver'
../qemud/remote_protocol.c: In function 'xdr_remote_node_get_info_ret':
../qemud/remote_protocol.c:255: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
../qemud/remote_protocol.c:255: error: 'buf' undeclared (first use in this function)
../qemud/remote_protocol.c:255: error: (Each undeclared identifier is reported only once
../qemud/remote_protocol.c:255: error: for each function it appears in.)
../qemud/remote_protocol.c:262: error: 'remote_node_get_info_ret' has no member named 'memory'
../qemud/remote_protocol.c:266: error: 'remote_node_get_info_ret' has no member named 'cpus'
../qemud/remote_protocol.c:268: error: 'remote_node_get_info_ret' has no member named 'mhz'
../qemud/remote_protocol.c:270: error: 'remote_node_get_info_ret' has no member named 'nodes'
../qemud/remote_protocol.c:272: error: 'remote_node_get_info_ret' has no member named 'sockets'
../qemud/remote_protocol.c:274: error: 'remote_node_get_info_ret' has no member named 'cores'
../qemud/remote_protocol.c:276: error: 'remote_node_get_info_ret' has no member named 'threads'
../qemud/remote_protocol.c:279: warning: implicit declaration of function 'IXDR_PUT_INT32'
../qemud/remote_protocol.c:279: warning: nested extern declaration of 'IXDR_PUT_INT32'
../qemud/remote_protocol.c:279: error: 'remote_node_get_info_ret' has no member named 'cpus'
../qemud/remote_protocol.c:280: error: 'remote_node_get_info_ret' has no member named 'mhz'
../qemud/remote_protocol.c:281: error: 'remote_node_get_info_ret' has no member named 'nodes'
../qemud/remote_protocol.c:282: error: 'remote_node_get_info_ret' has no member named 'sockets'
../qemud/remote_protocol.c:283: error: 'remote_node_get_info_ret' has no member named 'cores'
../qemud/remote_protocol.c:284: error: 'remote_node_get_info_ret' has no member named 'threads'
../qemud/remote_protocol.c:291: error: 'remote_node_get_info_ret' has no member named 'memory'
../qemud/remote_protocol.c:295: error: 'remote_node_get_info_ret' has no member named 'cpus'
../qemud/remote_protocol.c:297: error: 'remote_node_get_info_ret' has no member named 'mhz'
../qemud/remote_protocol.c:299: error: 'remote_node_get_info_ret' has no member named 'nodes'
../qemud/remote_protocol.c:301: error: 'remote_node_get_info_ret' has no member named 'sockets'
../qemud/remote_protocol.c:303: error: 'remote_node_get_info_ret' has no member named 'cores'
../qemud/remote_protocol.c:305: error: 'remote_node_get_info_ret' has no member named 'threads'
../qemud/remote_protocol.c:308: error: 'remote_node_get_info_ret' has no member named 'cpus'
../qemud/remote_protocol.c:309: error: 'remote_node_get_info_ret' has no member named 'mhz'
../qemud/remote_protocol.c:310: error: 'remote_node_get_info_ret' has no member named 'nodes'
../qemud/remote_protocol.c:311: error: 'remote_node_get_info_ret' has no member named 'sockets'
../qemud/remote_protocol.c:312: error: 'remote_node_get_info_ret' has no member named 'cores'
../qemud/remote_protocol.c:313: error: 'remote_node_get_info_ret' has no member named 'threads'
../qemud/remote_protocol.c:321: error: 'remote_node_get_info_ret' has no member named 'memory'
../qemud/remote_protocol.c:323: error: 'remote_node_get_info_ret' has no member named 'cpus'
../qemud/remote_protocol.c:325: error: 'remote_node_get_info_ret' has no member named 'mhz'
../qemud/remote_protocol.c:327: error: 'remote_node_get_info_ret' has no member named 'nodes'
../qemud/remote_protocol.c:329: error: 'remote_node_get_info_ret' has no member named 'sockets'
../qemud/remote_protocol.c:331: error: 'remote_node_get_info_ret' has no member named 'cores'
../qemud/remote_protocol.c:333: error: 'remote_node_get_info_ret' has no member named 'threads'
../qemud/remote_protocol.c: In function 'xdr_remote_domain_block_stats_ret':
../qemud/remote_protocol.c:417: error: 'remote_domain_block_stats_ret' has no member named 'rd_req'
../qemud/remote_protocol.c:419: error: 'remote_domain_block_stats_ret' has no member named 'rd_bytes'
../qemud/remote_protocol.c:421: error: 'remote_domain_block_stats_ret' has no member named 'wr_req'
../qemud/remote_protocol.c:423: error: 'remote_domain_block_stats_ret' has no member named 'wr_bytes'
../qemud/remote_protocol.c:425: error: 'remote_domain_block_stats_ret' has no member named 'errs'
../qemud/remote_protocol.c: In function 'xdr_remote_domain_interface_stats_ret':
../qemud/remote_protocol.c:445: error: 'remote_domain_interface_stats_ret' has no member named 'rx_bytes'
../qemud/remote_protocol.c:447: error: 'remote_domain_interface_stats_ret' has no member named 'rx_packets'
../qemud/remote_protocol.c:449: error: 'remote_domain_interface_stats_ret' has no member named 'rx_errs'
../qemud/remote_protocol.c:451: error: 'remote_domain_interface_stats_ret' has no member named 'rx_drop'
../qemud/remote_protocol.c:453: error: 'remote_domain_interface_stats_ret' has no member named 'tx_bytes'
../qemud/remote_protocol.c:455: error: 'remote_domain_interface_stats_ret' has no member named 'tx_packets'
../qemud/remote_protocol.c:457: error: 'remote_domain_interface_stats_ret' has no member named 'tx_errs'
../qemud/remote_protocol.c:459: error: 'remote_domain_interface_stats_ret' has no member named 'tx_drop'
../qemud/remote_protocol.c: In function 'xdr_remote_domain_get_max_memory_ret':
../qemud/remote_protocol.c:645: error: 'remote_domain_get_max_memory_ret' has no member named 'memory'
../qemud/remote_protocol.c: In function 'xdr_remote_domain_set_max_memory_args':
../qemud/remote_protocol.c:656: error: 'remote_domain_set_max_memory_args' has no member named 'memory'
../qemud/remote_protocol.c: In function 'xdr_remote_domain_set_memory_args':
../qemud/remote_protocol.c:667: error: 'remote_domain_set_memory_args' has no member named 'memory'
../qemud/remote_protocol.c: In function 'xdr_remote_domain_get_info_ret':
../qemud/remote_protocol.c:687: error: 'remote_domain_get_info_ret' has no member named 'max_mem'
../qemud/remote_protocol.c:689: error: 'remote_domain_get_info_ret' has no member named 'memory'
../qemud/remote_protocol.c:691: error: 'remote_domain_get_info_ret' has no member named 'nr_virt_cpu'
../qemud/remote_protocol.c:693: error: 'remote_domain_get_info_ret' has no member named 'cpu_time'
../qemud/remote_protocol.c: In function 'xdr_remote_domain_migrate_prepare_args':
../qemud/remote_protocol.c:757: error: 'remote_domain_migrate_prepare_args' has no member named 'flags'
../qemud/remote_protocol.c:759: error: 'remote_domain_migrate_prepare_args' has no member named 'dname'
../qemud/remote_protocol.c:761: error: 'remote_domain_migrate_prepare_args' has no member named 'resource'
../qemud/remote_protocol.c: In function 'xdr_remote_domain_migrate_perform_args':
../qemud/remote_protocol.c:789: error: 'remote_domain_migrate_perform_args' has no member named 'flags'
../qemud/remote_protocol.c:791: error: 'remote_domain_migrate_perform_args' has no member named 'dname'
../qemud/remote_protocol.c:793: error: 'remote_domain_migrate_perform_args' has no member named 'resource'
../qemud/remote_protocol.c: In function 'xdr_remote_domain_migrate_finish_args':
../qemud/remote_protocol.c:809: error: 'remote_domain_migrate_finish_args' has no member named 'flags'
make[2]: *** [libvirt_la-remote_protocol.lo] Error 1
gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -I/usr/local/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_TEST -DWITH_REMOTE -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT virsh-virsh.o -MD -MP -MF .deps/virsh-virsh.Tpo -c -o virsh-virsh.o `test -f 'virsh.c' || echo './'`virsh.c
In file included from ../gnulib/lib/sys/stat.h:28,
from virsh.c:36:
../gnulib/lib/sys/stat.h:272: warning: unused parameter 'mode'
virsh.c:209: error: expected specifier-qualifier-list before 'uid_t'
virsh.c: In function 'cmdConnect':
virsh.c:436: error: 'vshControl' has no member named 'readonly'
virsh.c:439: error: 'vshControl' has no member named 'readonly'
virsh.c: In function 'cmdQuit':
virsh.c:3701: error: 'vshControl' has no member named 'imode'
virsh.c: In function 'vshCommandRun':
virsh.c:4101: error: 'vshControl' has no member named 'timing'
virsh.c:4106: error: 'vshControl' has no member named 'timing'
virsh.c:4112: error: 'vshControl' has no member named 'timing'
virsh.c: In function 'vshDebug':
virsh.c:4412: error: 'vshControl' has no member named 'debug'
virsh.c: In function 'vshPrintExtra':
virsh.c:4425: error: 'vshControl' has no member named 'quiet'
virsh.c: In function 'vshInit':
virsh.c:4521: error: 'vshControl' has no member named 'uid'
virsh.c:4521: warning: implicit declaration of function 'getuid'
virsh.c:4521: warning: nested extern declaration of 'getuid'
virsh.c:4530: error: 'vshControl' has no member named 'uid'
virsh.c:4531: error: 'vshControl' has no member named 'readonly'
virsh.c:4535: error: 'vshControl' has no member named 'readonly'
virsh.c: In function 'vshOpenLogFile':
virsh.c:4560: error: 'vshControl' has no member named 'logfile'
virsh.c:4564: error: 'vshControl' has no member named 'logfile'
virsh.c:4579: error: 'vshControl' has no member named 'log_fd'
virsh.c:4579: error: 'vshControl' has no member named 'logfile'
virsh.c:4579: error: 'O_SYNC' undeclared (first use in this function)
virsh.c:4579: error: (Each undeclared identifier is reported only once
virsh.c:4579: error: for each function it appears in.)
virsh.c: In function 'vshOutputLogFile':
virsh.c:4597: error: 'vshControl' has no member named 'log_fd'
virsh.c:4646: error: 'vshControl' has no member named 'log_fd'
virsh.c: In function 'vshCloseLogFile':
virsh.c:4661: error: 'vshControl' has no member named 'log_fd'
virsh.c:4662: error: 'vshControl' has no member named 'log_fd'
virsh.c:4664: error: 'vshControl' has no member named 'logfile'
virsh.c:4664: error: 'vshControl' has no member named 'logfile'
virsh.c:4665: error: 'vshControl' has no member named 'log_fd'
virsh.c:4668: error: 'vshControl' has no member named 'logfile'
virsh.c:4669: error: 'vshControl' has no member named 'logfile'
virsh.c:4670: error: 'vshControl' has no member named 'logfile'
virsh.c: In function 'vshParseArgv':
virsh.c:4948: error: 'vshControl' has no member named 'debug'
virsh.c:4954: error: 'vshControl' has no member named 'quiet'
virsh.c:4957: error: 'vshControl' has no member named 'timing'
virsh.c:4966: error: 'vshControl' has no member named 'readonly'
virsh.c:4969: error: 'vshControl' has no member named 'logfile'
virsh.c:4989: error: 'vshControl' has no member named 'imode'
virsh.c: In function 'main':
virsh.c:5021: warning: implicit declaration of function 'bindtextdomain'
virsh.c:5021: warning: nested extern declaration of 'bindtextdomain'
virsh.c:5025: warning: implicit declaration of function 'textdomain'
virsh.c:5025: warning: nested extern declaration of 'textdomain'
virsh.c:5036: error: 'vshControl' has no member named 'imode'
virsh.c:5037: error: 'vshControl' has no member named 'log_fd'
virsh.c:5053: error: 'vshControl' has no member named 'imode'
virsh.c:5057: error: 'vshControl' has no member named 'quiet'
virsh.c:5068: error: 'vshControl' has no member named 'uid'
virsh.c:5080: error: 'vshControl' has no member named 'imode'
make[2]: *** [virsh-virsh.o] Error 1
make[2]: Target `all' not remade because of errors.
make[2]: Leaving directory `/z/d/libvirt-mingw/src'
Making all in qemud
make[2]: Entering directory `/z/d/libvirt-mingw/qemud'
gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I/usr/local/include/libxml2 -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 -DLOCAL_STATE_DIR="\"/usr/local/var\"" -DSYSCONF_DIR="\"/usr/local/etc\"" -DQEMUD_PID_FILE="\"\"" -DREMOTE_PID_FILE="\"/usr/local/var/run/libvirtd.pid\"" -DGETTEXT_PACKAGE=\"libvirt\" -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT libvirtd-qemud.o -MD -MP -MF .deps/libvirtd-qemud.Tpo -c -o libvirtd-qemud.o `test -f 'qemud.c' || echo './'`qemud.c
qemud.c:27:22: error: sys/wait.h: No such file or directory
In file included from ../gnulib/lib/sys/stat.h:28,
from qemud.c:28:
../gnulib/lib/sys/stat.h:272: warning: unused parameter 'mode'
qemud.c:31:19: error: paths.h: No such file or directory
qemud.c:34:20: error: sys/un.h: No such file or directory
qemud.c:35:22: error: sys/poll.h: No such file or directory
qemud.c:37:25: error: netinet/tcp.h: No such file or directory
qemud.c:38:19: error: netdb.h: No such file or directory
qemud.c:40:17: error: pwd.h: No such file or directory
qemud.c:43:20: error: syslog.h: No such file or directory
qemud.c:48:21: error: fnmatch.h: No such file or directory
qemud.c:49:17: error: grp.h: No such file or directory
In file included from internal.h:44,
from qemud.c:53:
c:/oncrpc/rpc/xdr.h:116: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:127: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:128: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:129: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:130: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:131: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:132: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:133: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:134: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:242: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:243: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:244: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:245: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:246: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:247: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:248: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:249: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:250: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:251: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:252: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:253: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:254: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:255: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:256: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:257: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:258: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:259: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:260: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:261: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:262: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:263: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:275: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:281: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:282: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:283: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:284: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:285: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:286: warning: function declaration isn't a prototype
In file included from remote_protocol.h:9,
from internal.h:45,
from qemud.c:53:
c:/oncrpc/rpc/rpc.h:52:1: warning: "FD_SETSIZE" redefined
In file included from ../gnulib/lib/sys/socket.h:62,
from qemud.c:33:
c:\mingw\bin\../lib/gcc/mingw32/4.2.1-sjlj/../../../../include/winsock2.h:46:1: warning: this is the location of the previous definition
In file included from remote_protocol.h:9,
from internal.h:45,
from qemud.c:53:
c:/oncrpc/rpc/rpc.h:71: warning: function declaration isn't a prototype
In file included from remote_protocol.h:9,
from internal.h:45,
from qemud.c:53:
c:/oncrpc/rpc/rpc.h:74: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:89,
from remote_protocol.h:9,
from internal.h:45,
from qemud.c:53:
c:/oncrpc/rpc/auth.h:105: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:125: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:126: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:127: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:128: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:129: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:196: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:197: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:198: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:199: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:92,
from remote_protocol.h:9,
from internal.h:45,
from qemud.c:53:
c:/oncrpc/rpc/clnt.h:134: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:135: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:136: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:137: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:138: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:139: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:256: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:263: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:284: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:307: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:308: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:313: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:314: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:319: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:324: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:325: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:353: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:95,
from remote_protocol.h:9,
from internal.h:45,
from qemud.c:53:
c:/oncrpc/rpc/rpc_msg.h:184: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:192: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:200: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:208: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:97,
from remote_protocol.h:9,
from internal.h:45,
from qemud.c:53:
c:/oncrpc/rpc/auth_uni.h:84: warning: function declaration isn't a prototype
In file included from remote_protocol.h:9,
from internal.h:45,
from qemud.c:53:
c:/oncrpc/rpc/rpc.h:105:29: warning: "/*" within comment
In file included from c:/oncrpc/rpc/rpc.h:108,
from remote_protocol.h:9,
from internal.h:45,
from qemud.c:53:
c:/oncrpc/rpc/svc.h:94: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:95: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:96: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:97: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:98: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:99: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:108,
from remote_protocol.h:9,
from internal.h:45,
from qemud.c:53:
c:/oncrpc/rpc/svc.h:173:19: warning: "/*" within comment
c:/oncrpc/rpc/svc.h:175: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:184: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:192: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:200: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:231: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:232: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:233: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:234: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:235: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:236: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:237: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:238: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:278: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:280: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:281: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:282: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:296: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:301: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:302: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:307: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:109,
from remote_protocol.h:9,
from internal.h:45,
from qemud.c:53:
c:/oncrpc/rpc/svc_auth.h:56: error: 'auth_stat' defined as wrong kind of tag
c:/oncrpc/rpc/svc_auth.h:56: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:117,
from remote_protocol.h:9,
from internal.h:45,
from qemud.c:53:
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
In file included from internal.h:45,
from qemud.c:53:
remote_protocol.h:78: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:88: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:124: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:145: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:201: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:216: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:328: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:334: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:340: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:351: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:389: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:411: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:424: error: expected specifier-qualifier-list before 'u_quad_t'
qemud.c:75: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'unix_sock_gid'
qemud.c:109: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'sig_errors'
qemud.c: In function 'sig_handler':
qemud.c:117: error: 'SIGCHLD' undeclared (first use in this function)
qemud.c:117: error: (Each undeclared identifier is reported only once
qemud.c:117: error: for each function it appears in.)
qemud.c:123: error: 'sig_errors' undeclared (first use in this function)
qemud.c: In function 'qemudDispatchSignalEvent':
qemud.c:247: error: 'SIGHUP' undeclared (first use in this function)
qemud.c:253: error: 'SIGINT' undeclared (first use in this function)
qemud.c:254: error: 'SIGQUIT' undeclared (first use in this function)
qemud.c:255: error: 'SIGTERM' undeclared (first use in this function)
qemud.c: In function 'qemudSetCloseExec':
qemud.c:270: warning: implicit declaration of function 'fcntl'
qemud.c:270: warning: nested extern declaration of 'fcntl'
qemud.c:270: error: 'F_GETFD' undeclared (first use in this function)
qemud.c:272: error: 'FD_CLOEXEC' undeclared (first use in this function)
qemud.c:273: error: 'F_SETFD' undeclared (first use in this function)
qemud.c: In function 'qemudSetNonBlock':
qemud.c:284: error: 'F_GETFL' undeclared (first use in this function)
qemud.c:286: error: 'O_NONBLOCK' undeclared (first use in this function)
qemud.c:287: error: 'F_SETFL' undeclared (first use in this function)
qemud.c: In function 'qemudLog':
qemud.c:306: error: 'LOG_ERR' undeclared (first use in this function)
qemud.c:309: error: 'LOG_WARNING' undeclared (first use in this function)
qemud.c:313: error: 'LOG_INFO' undeclared (first use in this function)
qemud.c:326: warning: implicit declaration of function 'vsyslog'
qemud.c:326: warning: nested extern declaration of 'vsyslog'
qemud.c: In function 'qemudGoDaemon':
qemud.c:359: warning: implicit declaration of function 'fork'
qemud.c:367: error: '_PATH_DEVNULL' undeclared (first use in this function)
qemud.c:384: warning: implicit declaration of function 'setsid'
qemud.c:384: warning: nested extern declaration of 'setsid'
qemud.c:414: warning: implicit declaration of function 'waitpid'
qemud.c:414: warning: nested extern declaration of 'waitpid'
qemud.c: In function 'qemudListenUnix':
qemud.c:464: error: storage size of 'addr' isn't known
qemud.c:466: error: 'gid_t' undeclared (first use in this function)
qemud.c:466: error: expected ';' before 'oldgrp'
qemud.c:495: error: 'oldgrp' undeclared (first use in this function)
qemud.c:495: warning: implicit declaration of function 'getgid'
qemud.c:495: warning: nested extern declaration of 'getgid'
qemud.c:497: warning: implicit declaration of function 'getuid'
qemud.c:497: warning: nested extern declaration of 'getuid'
qemud.c:498: warning: implicit declaration of function 'setgid'
qemud.c:498: warning: nested extern declaration of 'setgid'
qemud.c:498: error: 'unix_sock_gid' undeclared (first use in this function)
qemud.c:516: error: 'POLLIN' undeclared (first use in this function)
qemud.c:516: error: 'POLLERR' undeclared (first use in this function)
qemud.c:516: error: 'POLLHUP' undeclared (first use in this function)
qemud.c:464: warning: unused variable 'addr'
qemud.c: In function 'remoteMakeSockets':
qemud.c:543: error: 'AI_ADDRCONFIG' undeclared (first use in this function)
qemud.c:562: warning: passing argument 4 of 'setsockopt' from incompatible pointer type
qemud.c: In function 'remoteListenTCP':
qemud.c:646: error: 'POLLIN' undeclared (first use in this function)
qemud.c:646: error: 'POLLERR' undeclared (first use in this function)
qemud.c:646: error: 'POLLHUP' undeclared (first use in this function)
qemud.c: In function 'qemudInitPaths':
qemud.c:663: error: 'uid_t' undeclared (first use in this function)
qemud.c:663: error: expected ';' before 'uid'
qemud.c:666: error: 'uid' undeclared (first use in this function)
qemud.c:684: warning: implicit declaration of function 'getpwuid'
qemud.c:684: warning: nested extern declaration of 'getpwuid'
qemud.c:684: warning: assignment makes pointer from integer without a cast
qemud.c:690: error: dereferencing pointer to incomplete type
qemud.c:693: error: dereferencing pointer to incomplete type
qemud.c:696: error: dereferencing pointer to incomplete type
qemud.c: In function 'remoteCheckDN':
qemud.c:912: warning: implicit declaration of function 'fnmatch'
qemud.c:912: warning: nested extern declaration of 'fnmatch'
qemud.c: In function 'qemudDispatchClientEvent':
qemud.c:1508: error: 'POLLOUT' undeclared (first use in this function)
qemud.c:1510: error: 'POLLIN' undeclared (first use in this function)
qemud.c: In function 'qemudRegisterClientEvent':
qemud.c:1523: error: 'POLLIN' undeclared (first use in this function)
qemud.c:1525: error: 'POLLOUT' undeclared (first use in this function)
qemud.c:1546: error: 'POLLERR' undeclared (first use in this function)
qemud.c:1546: error: 'POLLHUP' undeclared (first use in this function)
qemud.c: In function 'qemudOneLoop':
qemud.c:1574: error: 'sig_atomic_t' undeclared (first use in this function)
qemud.c:1574: error: expected ';' before 'errors'
qemud.c:1580: error: 'errors' undeclared (first use in this function)
qemud.c:1580: error: 'sig_errors' undeclared (first use in this function)
qemud.c: In function 'remoteReadConfigFile':
qemud.c:1890: warning: implicit declaration of function 'getgrnam'
qemud.c:1890: warning: nested extern declaration of 'getgrnam'
qemud.c:1890: warning: initialization makes pointer from integer without a cast
qemud.c:1896: error: 'unix_sock_gid' undeclared (first use in this function)
qemud.c:1896: error: dereferencing pointer to incomplete type
qemud.c: In function 'main':
qemud.c:2017: error: storage size of 'sig_action' isn't known
qemud.c:2086: warning: implicit declaration of function 'pipe'
qemud.c:2086: warning: nested extern declaration of 'pipe'
qemud.c:2106: warning: implicit declaration of function 'openlog'
qemud.c:2106: warning: nested extern declaration of 'openlog'
qemud.c:2128: warning: implicit declaration of function 'sigemptyset'
qemud.c:2128: warning: nested extern declaration of 'sigemptyset'
qemud.c:2130: warning: implicit declaration of function 'sigaction'
qemud.c:2130: warning: nested extern declaration of 'sigaction'
qemud.c:2130: error: 'SIGHUP' undeclared (first use in this function)
qemud.c:2131: error: 'SIGINT' undeclared (first use in this function)
qemud.c:2132: error: 'SIGQUIT' undeclared (first use in this function)
qemud.c:2133: error: 'SIGTERM' undeclared (first use in this function)
qemud.c:2134: error: 'SIGCHLD' undeclared (first use in this function)
qemud.c:2136: error: 'SIG_IGN' undeclared (first use in this function)
qemud.c:2137: error: 'SIGPIPE' undeclared (first use in this function)
qemud.c:2140: error: 'POLLIN' undeclared (first use in this function)
qemud.c:2160: warning: implicit declaration of function 'closelog'
qemud.c:2160: warning: nested extern declaration of 'closelog'
qemud.c:2017: warning: unused variable 'sig_action'
make[2]: *** [libvirtd-qemud.o] Error 1
gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I/usr/local/include/libxml2 -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 -DLOCAL_STATE_DIR="\"/usr/local/var\"" -DSYSCONF_DIR="\"/usr/local/etc\"" -DQEMUD_PID_FILE="\"\"" -DREMOTE_PID_FILE="\"/usr/local/var/run/libvirtd.pid\"" -DGETTEXT_PACKAGE=\"libvirt\" -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT libvirtd-remote_protocol.o -MD -MP -MF .deps/libvirtd-remote_protocol.Tpo -c -o libvirtd-remote_protocol.o `test -f 'remote_protocol.c' || echo './'`remote_protocol.c
In file included from ../gnulib/lib/string.h:23,
from c:\mingw\bin\../lib/gcc/mingw32/4.2.1-sjlj/../../../../include/winnt.h:37,
from c:\mingw\bin\../lib/gcc/mingw32/4.2.1-sjlj/../../../../include/windef.h:253,
from c:\mingw\bin\../lib/gcc/mingw32/4.2.1-sjlj/../../../../include/windows.h:48,
from c:\mingw\bin\../lib/gcc/mingw32/4.2.1-sjlj/../../../../include/winsock.h:19,
from c:/oncrpc/rpc/rpc.h:55,
from remote_protocol.h:9,
from remote_protocol.c:6:
../gnulib/lib/string.h:283: error: expected ';', ',' or ')' before '__stringp'
In file included from remote_protocol.h:9,
from remote_protocol.c:6:
c:/oncrpc/rpc/rpc.h:71: warning: function declaration isn't a prototype
In file included from remote_protocol.h:9,
from remote_protocol.c:6:
c:/oncrpc/rpc/rpc.h:74: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:86,
from remote_protocol.h:9,
from remote_protocol.c:6:
c:/oncrpc/rpc/xdr.h:116: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:127: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:128: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:129: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:130: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:131: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:132: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:133: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:134: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:242: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:243: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:244: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:245: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:246: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:247: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:248: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:249: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:250: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:251: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:252: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:253: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:254: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:255: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:256: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:257: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:258: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:259: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:260: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:261: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:262: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:263: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:275: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:281: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:282: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:283: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:284: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:285: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:286: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:89,
from remote_protocol.h:9,
from remote_protocol.c:6:
c:/oncrpc/rpc/auth.h:105: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:125: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:126: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:127: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:128: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:129: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:196: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:197: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:198: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:199: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:92,
from remote_protocol.h:9,
from remote_protocol.c:6:
c:/oncrpc/rpc/clnt.h:134: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:135: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:136: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:137: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:138: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:139: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:256: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:263: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:284: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:307: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:308: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:313: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:314: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:319: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:324: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:325: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:353: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:95,
from remote_protocol.h:9,
from remote_protocol.c:6:
c:/oncrpc/rpc/rpc_msg.h:184: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:192: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:200: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:208: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:97,
from remote_protocol.h:9,
from remote_protocol.c:6:
c:/oncrpc/rpc/auth_uni.h:84: warning: function declaration isn't a prototype
In file included from remote_protocol.h:9,
from remote_protocol.c:6:
c:/oncrpc/rpc/rpc.h:105:29: warning: "/*" within comment
In file included from c:/oncrpc/rpc/rpc.h:108,
from remote_protocol.h:9,
from remote_protocol.c:6:
c:/oncrpc/rpc/svc.h:94: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:95: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:96: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:97: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:98: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:99: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:108,
from remote_protocol.h:9,
from remote_protocol.c:6:
c:/oncrpc/rpc/svc.h:173:19: warning: "/*" within comment
c:/oncrpc/rpc/svc.h:175: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:184: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:192: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:200: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:231: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:232: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:233: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:234: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:235: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:236: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:237: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:238: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:278: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:280: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:281: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:282: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:296: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:301: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:302: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:307: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:109,
from remote_protocol.h:9,
from remote_protocol.c:6:
c:/oncrpc/rpc/svc_auth.h:56: error: 'auth_stat' defined as wrong kind of tag
c:/oncrpc/rpc/svc_auth.h:56: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:117,
from remote_protocol.h:9,
from remote_protocol.c:6:
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
In file included from remote_protocol.c:6:
remote_protocol.h:78: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:88: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:124: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:145: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:201: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:216: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:328: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:334: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:340: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:351: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:389: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:411: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:424: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.c: In function 'xdr_remote_vcpu_info':
remote_protocol.c:124: warning: implicit declaration of function 'xdr_u_quad_t'
remote_protocol.c:124: warning: nested extern declaration of 'xdr_u_quad_t'
remote_protocol.c:124: error: 'remote_vcpu_info' has no member named 'cpu_time'
remote_protocol.c:126: error: 'remote_vcpu_info' has no member named 'cpu'
remote_protocol.c: In function 'xdr_remote_sched_param_value':
remote_protocol.c:146: warning: implicit declaration of function 'xdr_quad_t'
remote_protocol.c:146: warning: nested extern declaration of 'xdr_quad_t'
remote_protocol.c:146: error: 'union <anonymous>' has no member named 'l'
remote_protocol.c:150: error: 'union <anonymous>' has no member named 'ul'
remote_protocol.c:154: error: 'union <anonymous>' has no member named 'd'
remote_protocol.c:158: error: 'union <anonymous>' has no member named 'b'
remote_protocol.c: In function 'xdr_remote_get_version_ret':
remote_protocol.c:220: error: 'remote_get_version_ret' has no member named 'hv_ver'
remote_protocol.c: In function 'xdr_remote_node_get_info_ret':
remote_protocol.c:255: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
remote_protocol.c:255: error: 'buf' undeclared (first use in this function)
remote_protocol.c:255: error: (Each undeclared identifier is reported only once
remote_protocol.c:255: error: for each function it appears in.)
remote_protocol.c:262: error: 'remote_node_get_info_ret' has no member named 'memory'
remote_protocol.c:266: error: 'remote_node_get_info_ret' has no member named 'cpus'
remote_protocol.c:268: error: 'remote_node_get_info_ret' has no member named 'mhz'
remote_protocol.c:270: error: 'remote_node_get_info_ret' has no member named 'nodes'
remote_protocol.c:272: error: 'remote_node_get_info_ret' has no member named 'sockets'
remote_protocol.c:274: error: 'remote_node_get_info_ret' has no member named 'cores'
remote_protocol.c:276: error: 'remote_node_get_info_ret' has no member named 'threads'
remote_protocol.c:279: warning: implicit declaration of function 'IXDR_PUT_INT32'
remote_protocol.c:279: warning: nested extern declaration of 'IXDR_PUT_INT32'
remote_protocol.c:279: error: 'remote_node_get_info_ret' has no member named 'cpus'
remote_protocol.c:280: error: 'remote_node_get_info_ret' has no member named 'mhz'
remote_protocol.c:281: error: 'remote_node_get_info_ret' has no member named 'nodes'
remote_protocol.c:282: error: 'remote_node_get_info_ret' has no member named 'sockets'
remote_protocol.c:283: error: 'remote_node_get_info_ret' has no member named 'cores'
remote_protocol.c:284: error: 'remote_node_get_info_ret' has no member named 'threads'
remote_protocol.c:291: error: 'remote_node_get_info_ret' has no member named 'memory'
remote_protocol.c:295: error: 'remote_node_get_info_ret' has no member named 'cpus'
remote_protocol.c:297: error: 'remote_node_get_info_ret' has no member named 'mhz'
remote_protocol.c:299: error: 'remote_node_get_info_ret' has no member named 'nodes'
remote_protocol.c:301: error: 'remote_node_get_info_ret' has no member named 'sockets'
remote_protocol.c:303: error: 'remote_node_get_info_ret' has no member named 'cores'
remote_protocol.c:305: error: 'remote_node_get_info_ret' has no member named 'threads'
remote_protocol.c:308: error: 'remote_node_get_info_ret' has no member named 'cpus'
remote_protocol.c:309: error: 'remote_node_get_info_ret' has no member named 'mhz'
remote_protocol.c:310: error: 'remote_node_get_info_ret' has no member named 'nodes'
remote_protocol.c:311: error: 'remote_node_get_info_ret' has no member named 'sockets'
remote_protocol.c:312: error: 'remote_node_get_info_ret' has no member named 'cores'
remote_protocol.c:313: error: 'remote_node_get_info_ret' has no member named 'threads'
remote_protocol.c:321: error: 'remote_node_get_info_ret' has no member named 'memory'
remote_protocol.c:323: error: 'remote_node_get_info_ret' has no member named 'cpus'
remote_protocol.c:325: error: 'remote_node_get_info_ret' has no member named 'mhz'
remote_protocol.c:327: error: 'remote_node_get_info_ret' has no member named 'nodes'
remote_protocol.c:329: error: 'remote_node_get_info_ret' has no member named 'sockets'
remote_protocol.c:331: error: 'remote_node_get_info_ret' has no member named 'cores'
remote_protocol.c:333: error: 'remote_node_get_info_ret' has no member named 'threads'
remote_protocol.c: In function 'xdr_remote_domain_block_stats_ret':
remote_protocol.c:417: error: 'remote_domain_block_stats_ret' has no member named 'rd_req'
remote_protocol.c:419: error: 'remote_domain_block_stats_ret' has no member named 'rd_bytes'
remote_protocol.c:421: error: 'remote_domain_block_stats_ret' has no member named 'wr_req'
remote_protocol.c:423: error: 'remote_domain_block_stats_ret' has no member named 'wr_bytes'
remote_protocol.c:425: error: 'remote_domain_block_stats_ret' has no member named 'errs'
remote_protocol.c: In function 'xdr_remote_domain_interface_stats_ret':
remote_protocol.c:445: error: 'remote_domain_interface_stats_ret' has no member named 'rx_bytes'
remote_protocol.c:447: error: 'remote_domain_interface_stats_ret' has no member named 'rx_packets'
remote_protocol.c:449: error: 'remote_domain_interface_stats_ret' has no member named 'rx_errs'
remote_protocol.c:451: error: 'remote_domain_interface_stats_ret' has no member named 'rx_drop'
remote_protocol.c:453: error: 'remote_domain_interface_stats_ret' has no member named 'tx_bytes'
remote_protocol.c:455: error: 'remote_domain_interface_stats_ret' has no member named 'tx_packets'
remote_protocol.c:457: error: 'remote_domain_interface_stats_ret' has no member named 'tx_errs'
remote_protocol.c:459: error: 'remote_domain_interface_stats_ret' has no member named 'tx_drop'
remote_protocol.c: In function 'xdr_remote_domain_get_max_memory_ret':
remote_protocol.c:645: error: 'remote_domain_get_max_memory_ret' has no member named 'memory'
remote_protocol.c: In function 'xdr_remote_domain_set_max_memory_args':
remote_protocol.c:656: error: 'remote_domain_set_max_memory_args' has no member named 'memory'
remote_protocol.c: In function 'xdr_remote_domain_set_memory_args':
remote_protocol.c:667: error: 'remote_domain_set_memory_args' has no member named 'memory'
remote_protocol.c: In function 'xdr_remote_domain_get_info_ret':
remote_protocol.c:687: error: 'remote_domain_get_info_ret' has no member named 'max_mem'
remote_protocol.c:689: error: 'remote_domain_get_info_ret' has no member named 'memory'
remote_protocol.c:691: error: 'remote_domain_get_info_ret' has no member named 'nr_virt_cpu'
remote_protocol.c:693: error: 'remote_domain_get_info_ret' has no member named 'cpu_time'
remote_protocol.c: In function 'xdr_remote_domain_migrate_prepare_args':
remote_protocol.c:757: error: 'remote_domain_migrate_prepare_args' has no member named 'flags'
remote_protocol.c:759: error: 'remote_domain_migrate_prepare_args' has no member named 'dname'
remote_protocol.c:761: error: 'remote_domain_migrate_prepare_args' has no member named 'resource'
remote_protocol.c: In function 'xdr_remote_domain_migrate_perform_args':
remote_protocol.c:789: error: 'remote_domain_migrate_perform_args' has no member named 'flags'
remote_protocol.c:791: error: 'remote_domain_migrate_perform_args' has no member named 'dname'
remote_protocol.c:793: error: 'remote_domain_migrate_perform_args' has no member named 'resource'
remote_protocol.c: In function 'xdr_remote_domain_migrate_finish_args':
remote_protocol.c:809: error: 'remote_domain_migrate_finish_args' has no member named 'flags'
make[2]: *** [libvirtd-remote_protocol.o] Error 1
gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I/usr/local/include/libxml2 -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 -DLOCAL_STATE_DIR="\"/usr/local/var\"" -DSYSCONF_DIR="\"/usr/local/etc\"" -DQEMUD_PID_FILE="\"\"" -DREMOTE_PID_FILE="\"/usr/local/var/run/libvirtd.pid\"" -DGETTEXT_PACKAGE=\"libvirt\" -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT libvirtd-remote.o -MD -MP -MF .deps/libvirtd-remote.Tpo -c -o libvirtd-remote.o `test -f 'remote.c' || echo './'`remote.c
remote.c:26:22: error: sys/wait.h: No such file or directory
In file included from ../gnulib/lib/sys/stat.h:28,
from remote.c:27:
../gnulib/lib/sys/stat.h:272: warning: unused parameter 'mode'
remote.c:30:19: error: paths.h: No such file or directory
remote.c:33:20: error: sys/un.h: No such file or directory
remote.c:34:22: error: sys/poll.h: No such file or directory
remote.c:36:19: error: netdb.h: No such file or directory
remote.c:38:17: error: pwd.h: No such file or directory
remote.c:41:20: error: syslog.h: No such file or directory
remote.c:47:21: error: fnmatch.h: No such file or directory
In file included from internal.h:44,
from remote.c:56:
c:/oncrpc/rpc/xdr.h:116: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:127: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:128: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:129: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:130: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:131: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:132: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:133: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:134: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:242: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:243: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:244: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:245: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:246: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:247: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:248: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:249: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:250: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:251: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:252: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:253: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:254: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:255: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:256: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:257: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:258: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:259: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:260: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:261: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:262: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:263: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:275: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:281: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:282: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:283: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:284: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:285: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:286: warning: function declaration isn't a prototype
In file included from remote_protocol.h:9,
from internal.h:45,
from remote.c:56:
c:/oncrpc/rpc/rpc.h:52:1: warning: "FD_SETSIZE" redefined
In file included from ../gnulib/lib/sys/socket.h:62,
from remote.c:32:
c:\mingw\bin\../lib/gcc/mingw32/4.2.1-sjlj/../../../../include/winsock2.h:46:1: warning: this is the location of the previous definition
In file included from remote_protocol.h:9,
from internal.h:45,
from remote.c:56:
c:/oncrpc/rpc/rpc.h:71: warning: function declaration isn't a prototype
In file included from remote_protocol.h:9,
from internal.h:45,
from remote.c:56:
c:/oncrpc/rpc/rpc.h:74: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:89,
from remote_protocol.h:9,
from internal.h:45,
from remote.c:56:
c:/oncrpc/rpc/auth.h:105: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:125: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:126: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:127: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:128: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:129: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:196: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:197: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:198: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:199: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:92,
from remote_protocol.h:9,
from internal.h:45,
from remote.c:56:
c:/oncrpc/rpc/clnt.h:134: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:135: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:136: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:137: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:138: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:139: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:256: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:263: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:284: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:307: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:308: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:313: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:314: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:319: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:324: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:325: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:353: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:95,
from remote_protocol.h:9,
from internal.h:45,
from remote.c:56:
c:/oncrpc/rpc/rpc_msg.h:184: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:192: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:200: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:208: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:97,
from remote_protocol.h:9,
from internal.h:45,
from remote.c:56:
c:/oncrpc/rpc/auth_uni.h:84: warning: function declaration isn't a prototype
In file included from remote_protocol.h:9,
from internal.h:45,
from remote.c:56:
c:/oncrpc/rpc/rpc.h:105:29: warning: "/*" within comment
In file included from c:/oncrpc/rpc/rpc.h:108,
from remote_protocol.h:9,
from internal.h:45,
from remote.c:56:
c:/oncrpc/rpc/svc.h:94: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:95: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:96: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:97: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:98: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:99: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:108,
from remote_protocol.h:9,
from internal.h:45,
from remote.c:56:
c:/oncrpc/rpc/svc.h:173:19: warning: "/*" within comment
c:/oncrpc/rpc/svc.h:175: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:184: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:192: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:200: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:231: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:232: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:233: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:234: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:235: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:236: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:237: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:238: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:278: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:280: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:281: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:282: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:296: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:301: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:302: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:307: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:109,
from remote_protocol.h:9,
from internal.h:45,
from remote.c:56:
c:/oncrpc/rpc/svc_auth.h:56: error: 'auth_stat' defined as wrong kind of tag
c:/oncrpc/rpc/svc_auth.h:56: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:117,
from remote_protocol.h:9,
from internal.h:45,
from remote.c:56:
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
In file included from internal.h:45,
from remote.c:56:
remote_protocol.h:78: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:88: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:124: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:145: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:201: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:216: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:328: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:334: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:340: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:351: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:389: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:411: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:424: error: expected specifier-qualifier-list before 'u_quad_t'
remote.c: In function 'remoteDispatchClientRequest':
remote.c:173: warning: implicit declaration of function 'xdr_free'
remote.c:173: warning: nested extern declaration of 'xdr_free'
remote.c: In function 'remoteDispatchGetVersion':
remote.c:514: error: 'remote_get_version_ret' has no member named 'hv_ver'
remote.c: In function 'remoteDispatchNodeGetInfo':
remote.c:566: error: 'remote_node_get_info_ret' has no member named 'memory'
remote.c:567: error: 'remote_node_get_info_ret' has no member named 'cpus'
remote.c:568: error: 'remote_node_get_info_ret' has no member named 'mhz'
remote.c:569: error: 'remote_node_get_info_ret' has no member named 'nodes'
remote.c:570: error: 'remote_node_get_info_ret' has no member named 'sockets'
remote.c:571: error: 'remote_node_get_info_ret' has no member named 'cores'
remote.c:572: error: 'remote_node_get_info_ret' has no member named 'threads'
remote.c: In function 'remoteDispatchDomainGetSchedulerParameters':
remote.c:691: error: 'union <anonymous>' has no member named 'l'
remote.c:693: error: 'union <anonymous>' has no member named 'ul'
remote.c:695: error: 'union <anonymous>' has no member named 'd'
remote.c:697: error: 'union <anonymous>' has no member named 'b'
remote.c: In function 'remoteDispatchDomainSetSchedulerParameters':
remote.c:747: error: 'union <anonymous>' has no member named 'l'
remote.c:749: error: 'union <anonymous>' has no member named 'ul'
remote.c:751: error: 'union <anonymous>' has no member named 'd'
remote.c:753: error: 'union <anonymous>' has no member named 'b'
remote.c: In function 'remoteDispatchDomainBlockStats':
remote.c:794: error: 'remote_domain_block_stats_ret' has no member named 'rd_req'
remote.c:795: error: 'remote_domain_block_stats_ret' has no member named 'rd_bytes'
remote.c:796: error: 'remote_domain_block_stats_ret' has no member named 'wr_req'
remote.c:797: error: 'remote_domain_block_stats_ret' has no member named 'wr_bytes'
remote.c:798: error: 'remote_domain_block_stats_ret' has no member named 'errs'
remote.c: In function 'remoteDispatchDomainInterfaceStats':
remote.c:825: error: 'remote_domain_interface_stats_ret' has no member named 'rx_bytes'
remote.c:826: error: 'remote_domain_interface_stats_ret' has no member named 'rx_packets'
remote.c:827: error: 'remote_domain_interface_stats_ret' has no member named 'rx_errs'
remote.c:828: error: 'remote_domain_interface_stats_ret' has no member named 'rx_drop'
remote.c:829: error: 'remote_domain_interface_stats_ret' has no member named 'tx_bytes'
remote.c:830: error: 'remote_domain_interface_stats_ret' has no member named 'tx_packets'
remote.c:831: error: 'remote_domain_interface_stats_ret' has no member named 'tx_errs'
remote.c:832: error: 'remote_domain_interface_stats_ret' has no member named 'tx_drop'
remote.c: In function 'remoteDispatchDomainGetInfo':
remote.c:1043: error: 'remote_domain_get_info_ret' has no member named 'max_mem'
remote.c:1044: error: 'remote_domain_get_info_ret' has no member named 'memory'
remote.c:1045: error: 'remote_domain_get_info_ret' has no member named 'nr_virt_cpu'
remote.c:1046: error: 'remote_domain_get_info_ret' has no member named 'cpu_time'
remote.c: In function 'remoteDispatchDomainGetMaxMemory':
remote.c:1069: error: 'remote_domain_get_max_memory_ret' has no member named 'memory'
remote.c:1070: error: 'remote_domain_get_max_memory_ret' has no member named 'memory'
remote.c: In function 'remoteDispatchDomainGetVcpus':
remote.c:1179: error: 'remote_vcpu_info' has no member named 'cpu_time'
remote.c:1180: error: 'remote_vcpu_info' has no member named 'cpu'
remote.c: In function 'remoteDispatchDomainMigratePrepare':
remote.c:1210: error: 'remote_domain_migrate_prepare_args' has no member named 'dname'
remote.c:1210: error: 'remote_domain_migrate_prepare_args' has no member named 'dname'
remote.c:1217: error: 'remote_domain_migrate_prepare_args' has no member named 'flags'
remote.c:1217: error: 'remote_domain_migrate_prepare_args' has no member named 'resource'
remote.c: In function 'remoteDispatchDomainMigratePerform':
remote.c:1248: error: 'remote_domain_migrate_perform_args' has no member named 'dname'
remote.c:1248: error: 'remote_domain_migrate_perform_args' has no member named 'dname'
remote.c:1254: error: 'remote_domain_migrate_perform_args' has no member named 'flags'
remote.c:1254: error: 'remote_domain_migrate_perform_args' has no member named 'resource'
remote.c: In function 'remoteDispatchDomainMigrateFinish':
remote.c:1274: error: 'remote_domain_migrate_finish_args' has no member named 'flags'
remote.c: In function 'remoteDispatchDomainSetMaxMemory':
remote.c:1562: error: 'remote_domain_set_max_memory_args' has no member named 'memory'
remote.c: In function 'remoteDispatchDomainSetMemory':
remote.c:1586: error: 'remote_domain_set_memory_args' has no member named 'memory'
make[2]: *** [libvirtd-remote.o] Error 1
gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I/usr/local/include/libxml2 -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 -DLOCAL_STATE_DIR="\"/usr/local/var\"" -DSYSCONF_DIR="\"/usr/local/etc\"" -DQEMUD_PID_FILE="\"\"" -DREMOTE_PID_FILE="\"/usr/local/var/run/libvirtd.pid\"" -DGETTEXT_PACKAGE=\"libvirt\" -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT libvirtd-event.o -MD -MP -MF .deps/libvirtd-event.Tpo -c -o libvirtd-event.o `test -f 'event.c' || echo './'`event.c
In file included from internal.h:44,
from event.c:32:
c:/oncrpc/rpc/xdr.h:116: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:127: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:128: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:129: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:130: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:131: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:132: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:133: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:134: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:242: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:243: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:244: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:245: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:246: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:247: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:248: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:249: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:250: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:251: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:252: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:253: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:254: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:255: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:256: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:257: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:258: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:259: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:260: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:261: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:262: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:263: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:275: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:281: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:282: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:283: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:284: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:285: warning: function declaration isn't a prototype
c:/oncrpc/rpc/xdr.h:286: warning: function declaration isn't a prototype
In file included from remote_protocol.h:9,
from internal.h:45,
from event.c:32:
c:/oncrpc/rpc/rpc.h:71: warning: function declaration isn't a prototype
In file included from remote_protocol.h:9,
from internal.h:45,
from event.c:32:
c:/oncrpc/rpc/rpc.h:74: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:89,
from remote_protocol.h:9,
from internal.h:45,
from event.c:32:
c:/oncrpc/rpc/auth.h:105: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:125: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:126: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:127: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:128: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:129: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:196: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:197: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:198: warning: function declaration isn't a prototype
c:/oncrpc/rpc/auth.h:199: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:92,
from remote_protocol.h:9,
from internal.h:45,
from event.c:32:
c:/oncrpc/rpc/clnt.h:134: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:135: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:136: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:137: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:138: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:139: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:256: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:263: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:284: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:307: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:308: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:313: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:314: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:319: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:324: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:325: warning: function declaration isn't a prototype
c:/oncrpc/rpc/clnt.h:353: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:95,
from remote_protocol.h:9,
from internal.h:45,
from event.c:32:
c:/oncrpc/rpc/rpc_msg.h:184: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:192: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:200: warning: function declaration isn't a prototype
c:/oncrpc/rpc/rpc_msg.h:208: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:97,
from remote_protocol.h:9,
from internal.h:45,
from event.c:32:
c:/oncrpc/rpc/auth_uni.h:84: warning: function declaration isn't a prototype
In file included from remote_protocol.h:9,
from internal.h:45,
from event.c:32:
c:/oncrpc/rpc/rpc.h:105:29: warning: "/*" within comment
In file included from c:/oncrpc/rpc/rpc.h:108,
from remote_protocol.h:9,
from internal.h:45,
from event.c:32:
c:/oncrpc/rpc/svc.h:94: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:95: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:96: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:97: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:98: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:99: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:108,
from remote_protocol.h:9,
from internal.h:45,
from event.c:32:
c:/oncrpc/rpc/svc.h:173:19: warning: "/*" within comment
c:/oncrpc/rpc/svc.h:175: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:184: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:192: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:200: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:231: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:232: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:233: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:234: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:235: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:236: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:237: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:238: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:278: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:280: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:281: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:282: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:296: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:301: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:302: warning: function declaration isn't a prototype
c:/oncrpc/rpc/svc.h:307: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:109,
from remote_protocol.h:9,
from internal.h:45,
from event.c:32:
c:/oncrpc/rpc/svc_auth.h:56: error: 'auth_stat' defined as wrong kind of tag
c:/oncrpc/rpc/svc_auth.h:56: warning: function declaration isn't a prototype
In file included from c:/oncrpc/rpc/rpc.h:117,
from remote_protocol.h:9,
from internal.h:45,
from event.c:32:
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
c:/oncrpc/rpc/netdb.h:51: warning: function declaration isn't a prototype
In file included from internal.h:45,
from event.c:32:
remote_protocol.h:78: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:88: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:124: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:145: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:201: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:216: error: expected specifier-qualifier-list before 'quad_t'
remote_protocol.h:328: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:334: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:340: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:351: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:389: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:411: error: expected specifier-qualifier-list before 'u_quad_t'
remote_protocol.h:424: error: expected specifier-qualifier-list before 'u_quad_t'
In file included from event.c:32:
internal.h:101: error: field 'addr' has incomplete type
internal.h:102: error: expected specifier-qualifier-list before 'socklen_t'
internal.h:154: error: 'PATH_MAX' undeclared here (not in a function)
make[2]: *** [libvirtd-event.o] Error 1
make[2]: *** No rule to make target `../src/libvirt.la', needed by `libvirtd.exe'.
make[2]: Target `all' not remade because of errors.
make[2]: Leaving directory `/z/d/libvirt-mingw/qemud'
Making all in proxy
make[2]: Entering directory `/z/d/libvirt-mingw/proxy'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/z/d/libvirt-mingw/proxy'
Making all in docs
make[2]: Entering directory `/z/d/libvirt-mingw/docs'
Making all in .
make[3]: Entering directory `/z/d/libvirt-mingw/docs'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/z/d/libvirt-mingw/docs'
Making all in examples
make[3]: Entering directory `/z/d/libvirt-mingw/docs/examples'
Making all in python
make[4]: Entering directory `/z/d/libvirt-mingw/docs/examples/python'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/z/d/libvirt-mingw/docs/examples/python'
make[4]: Entering directory `/z/d/libvirt-mingw/docs/examples'
make[4]: *** No rule to make target `../../src/libvirt.la', needed by `info1.exe'.
make[4]: Target `all-am' not remade because of errors.
make[4]: Leaving directory `/z/d/libvirt-mingw/docs/examples'
make[3]: *** [all-recursive] Error 1
make[3]: Target `all' not remade because of errors.
make[3]: Leaving directory `/z/d/libvirt-mingw/docs/examples'
Making all in devhelp
make[3]: Entering directory `/z/d/libvirt-mingw/docs/devhelp'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/z/d/libvirt-mingw/docs/devhelp'
make[2]: *** [all-recursive] Error 1
make[2]: Target `all' not remade because of errors.
make[2]: Leaving directory `/z/d/libvirt-mingw/docs'
Making all in gnulib/tests
make[2]: Entering directory `/z/d/libvirt-mingw/gnulib/tests'
make all-recursive
make[3]: Entering directory `/z/d/libvirt-mingw/gnulib/tests'
make[4]: Entering directory `/z/d/libvirt-mingw/gnulib/tests'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/z/d/libvirt-mingw/gnulib/tests'
make[3]: Leaving directory `/z/d/libvirt-mingw/gnulib/tests'
make[2]: Leaving directory `/z/d/libvirt-mingw/gnulib/tests'
Making all in tests
make[2]: Entering directory `/z/d/libvirt-mingw/tests'
Making all in virshdata
make[3]: Entering directory `/z/d/libvirt-mingw/tests/virshdata'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/z/d/libvirt-mingw/tests/virshdata'
Making all in confdata
make[3]: Entering directory `/z/d/libvirt-mingw/tests/confdata'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/z/d/libvirt-mingw/tests/confdata'
Making all in sexpr2xmldata
make[3]: Entering directory `/z/d/libvirt-mingw/tests/sexpr2xmldata'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/z/d/libvirt-mingw/tests/sexpr2xmldata'
Making all in xml2sexprdata
make[3]: Entering directory `/z/d/libvirt-mingw/tests/xml2sexprdata'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/z/d/libvirt-mingw/tests/xml2sexprdata'
Making all in xmconfigdata
make[3]: Entering directory `/z/d/libvirt-mingw/tests/xmconfigdata'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/z/d/libvirt-mingw/tests/xmconfigdata'
Making all in xencapsdata
make[3]: Entering directory `/z/d/libvirt-mingw/tests/xencapsdata'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/z/d/libvirt-mingw/tests/xencapsdata'
make[3]: Entering directory `/z/d/libvirt-mingw/tests'
gcc-sjlj -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../src -I../include -I../src -I/usr/local/include/libxml2 -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -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_TEST -DWITH_REMOTE -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -MT testutils.o -MD -MP -MF .deps/testutils.Tpo -c -o testutils.o testutils.c
In file included from ../gnulib/lib/sys/stat.h:28,
from testutils.c:17:
../gnulib/lib/sys/stat.h:272: warning: unused parameter 'mode'
testutils.c:18:22: error: sys/wait.h: No such file or directory
testutils.c: In function 'virtTestCaptureProgramExecChild':
testutils.c:137: warning: implicit declaration of function 'sysconf'
testutils.c:137: warning: nested extern declaration of 'sysconf'
testutils.c:137: error: '_SC_OPEN_MAX' undeclared (first use in this function)
testutils.c:137: error: (Each undeclared identifier is reported only once
testutils.c:137: error: for each function it appears in.)
testutils.c:153: warning: passing argument 2 of 'execve' from incompatible pointer type
testutils.c:153: warning: passing argument 3 of 'execve' from incompatible pointer type
testutils.c: In function 'virtTestCaptureProgramOutput':
testutils.c:168: warning: implicit declaration of function 'pipe'
testutils.c:168: warning: nested extern declaration of 'pipe'
testutils.c:171: warning: implicit declaration of function 'fork'
testutils.c:202: warning: implicit declaration of function 'waitpid'
testutils.c:202: warning: nested extern declaration of 'waitpid'
make[3]: *** [testutils.o] Error 1
/bin/sh ../libtool --tag=CC --mode=link gcc-sjlj -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -L /c/Users/rjones/Desktop/gnutls/lib -L /c/oncrpc/bin -o conftest.exe conftest.o -L/usr/local/lib -lxml2 -lws2_32 -lgnutls -lws2_32 -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 ../src/.libs/libvirt_la-bridge.o ../src/.libs/libvirt_la-buf.o ../src/.libs/libvirt_la-conf.o ../src/.libs/libvirt_la-event.o ../src/.libs/libvirt_la-hash.o ../src/.libs/libvirt_la-libvirt.o ../src/.libs/libvirt_la-nodeinfo.o ../src/.libs/libvirt_la-openvz_conf.o ../src/.libs/libvirt_la-openvz_driver.o ../src/.libs/libvirt_la-proxy_internal.o ../src/.libs/libvirt_la-qemu_conf.o ../src/.libs/libvirt_la-qemu_driver.o ../src/.libs/libvirt_la-sexpr.o ../src/.libs/libvirt_la-stats_linux.o ../src/.libs/libvirt_la-test.o ../src/.libs/libvirt_la-uuid.o ../src/.libs/libvirt_la-virterror.o ../src/.libs/libvirt_la-xen_internal.o ../src/.libs/libvirt_la-xen_unified.o ../src/.libs/libvirt_la-xend_internal.o ../src/.libs/libvirt_la-xm_internal.o ../src/.libs/libvirt_la-xml.o ../src/.libs/libvirt_la-xs_internal.o ../gnulib/lib/libgnu.la -lws2_32
gcc-sjlj -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc /c/Users/rjones/Desktop/gnutls/lib /c/oncrpc/bin -o conftest.exe conftest.o -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 ../src/.libs/libvirt_la-bridge.o ../src/.libs/libvirt_la-buf.o ../src/.libs/libvirt_la-conf.o ../src/.libs/libvirt_la-event.o ../src/.libs/libvirt_la-hash.o ../src/.libs/libvirt_la-libvirt.o ../src/.libs/libvirt_la-nodeinfo.o ../src/.libs/libvirt_la-openvz_conf.o ../src/.libs/libvirt_la-openvz_driver.o ../src/.libs/libvirt_la-proxy_internal.o ../src/.libs/libvirt_la-qemu_conf.o ../src/.libs/libvirt_la-qemu_driver.o ../src/.libs/libvirt_la-sexpr.o ../src/.libs/libvirt_la-stats_linux.o ../src/.libs/libvirt_la-test.o ../src/.libs/libvirt_la-uuid.o ../src/.libs/libvirt_la-virterror.o ../src/.libs/libvirt_la-xen_internal.o ../src/.libs/libvirt_la-xen_unified.o ../src/.libs/libvirt_la-xend_internal.o ../src/.libs/libvirt_la-xm_internal.o ../src/.libs/libvirt_la-xml.o ../src/.libs/libvirt_la-xs_internal.o -L/z/d/libvirt-mingw/tests -L/usr/local/lib /usr/local/lib/libxml2.dll.a -lgnutls ../gnulib/lib/.libs/libgnu.a -L/z/d/libvirt-mingw/gnulib/lib -lws2_32 -L/usr/local/lib -L/usr/local/lib
c:/mingw/bin/../lib/gcc/mingw32/4.2.1-sjlj/../../../../mingw32/bin/ld.exe: c:/Users/rjones/Desktop/gnutls/lib: No such file: Permission denied
collect2: ld returned 1 exit status
make[3]: *** [conftest.exe] Error 1
/bin/sh ../libtool --tag=CC --mode=link gcc-sjlj -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc -L /c/Users/rjones/Desktop/gnutls/lib -L /c/oncrpc/bin -o reconnect.exe reconnect.o -L/usr/local/lib -lxml2 -lws2_32 -lgnutls -lws2_32 -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 ../src/.libs/libvirt_la-bridge.o ../src/.libs/libvirt_la-buf.o ../src/.libs/libvirt_la-conf.o ../src/.libs/libvirt_la-event.o ../src/.libs/libvirt_la-hash.o ../src/.libs/libvirt_la-libvirt.o ../src/.libs/libvirt_la-nodeinfo.o ../src/.libs/libvirt_la-openvz_conf.o ../src/.libs/libvirt_la-openvz_driver.o ../src/.libs/libvirt_la-proxy_internal.o ../src/.libs/libvirt_la-qemu_conf.o ../src/.libs/libvirt_la-qemu_driver.o ../src/.libs/libvirt_la-sexpr.o ../src/.libs/libvirt_la-stats_linux.o ../src/.libs/libvirt_la-test.o ../src/.libs/libvirt_la-uuid.o ../src/.libs/libvirt_la-virterror.o ../src/.libs/libvirt_la-xen_internal.o ../src/.libs/libvirt_la-xen_unified.o ../src/.libs/libvirt_la-xend_internal.o ../src/.libs/libvirt_la-xm_internal.o ../src/.libs/libvirt_la-xml.o ../src/.libs/libvirt_la-xs_internal.o ../gnulib/lib/libgnu.la -lws2_32
gcc-sjlj -I /c/Users/rjones/Desktop/gnutls/include -I /c/oncrpc /c/Users/rjones/Desktop/gnutls/lib /c/oncrpc/bin -o reconnect.exe reconnect.o -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 ../src/.libs/libvirt_la-bridge.o ../src/.libs/libvirt_la-buf.o ../src/.libs/libvirt_la-conf.o ../src/.libs/libvirt_la-event.o ../src/.libs/libvirt_la-hash.o ../src/.libs/libvirt_la-libvirt.o ../src/.libs/libvirt_la-nodeinfo.o ../src/.libs/libvirt_la-openvz_conf.o ../src/.libs/libvirt_la-openvz_driver.o ../src/.libs/libvirt_la-proxy_internal.o ../src/.libs/libvirt_la-qemu_conf.o ../src/.libs/libvirt_la-qemu_driver.o ../src/.libs/libvirt_la-sexpr.o ../src/.libs/libvirt_la-stats_linux.o ../src/.libs/libvirt_la-test.o ../src/.libs/libvirt_la-uuid.o ../src/.libs/libvirt_la-virterror.o ../src/.libs/libvirt_la-xen_internal.o ../src/.libs/libvirt_la-xen_unified.o ../src/.libs/libvirt_la-xend_internal.o ../src/.libs/libvirt_la-xm_internal.o ../src/.libs/libvirt_la-xml.o ../src/.libs/libvirt_la-xs_internal.o -L/z/d/libvirt-mingw/tests -L/usr/local/lib /usr/local/lib/libxml2.dll.a -lgnutls ../gnulib/lib/.libs/libgnu.a -L/z/d/libvirt-mingw/gnulib/lib -lws2_32 -L/usr/local/lib -L/usr/local/lib
c:/mingw/bin/../lib/gcc/mingw32/4.2.1-sjlj/../../../../mingw32/bin/ld.exe: c:/Users/rjones/Desktop/gnutls/lib: No such file: Permission denied
collect2: ld returned 1 exit status
make[3]: *** [reconnect.exe] Error 1
make[3]: Target `all-am' not remade because of errors.
make[3]: Leaving directory `/z/d/libvirt-mingw/tests'
make[2]: *** [all-recursive] Error 1
make[2]: Target `all' not remade because of errors.
make[2]: Leaving directory `/z/d/libvirt-mingw/tests'
Making all in po
make[2]: Entering directory `/z/d/libvirt-mingw/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/z/d/libvirt-mingw/po'
Making all in scripts
make[2]: Entering directory `/z/d/libvirt-mingw/scripts'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/z/d/libvirt-mingw/scripts'
make[2]: Entering directory `/z/d/libvirt-mingw'
make[2]: Leaving directory `/z/d/libvirt-mingw'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/z/d/libvirt-mingw'
make: *** [all] Error 2
2
8
This is the last of the non-generated files requiring #include "config.h":
Include "config.h" in remaining non-generated files.
* docs/examples/info1.c: Likewise.
* docs/examples/suspend.c: Likewise.
* proxy/libvirt_proxy.c: Likewise.
* python/libvir.c: Likewise.
* python/types.c: Likewise.
* src/event.c: Likewise.
* src/xm_internal.c: Likewise.
* tests/reconnect.c: Likewise.
* tests/testutils.c: Likewise.
Signed-off-by: Jim Meyering <meyering(a)redhat.com>
---
docs/examples/info1.c | 2 ++
docs/examples/suspend.c | 2 ++
proxy/libvirt_proxy.c | 4 +++-
python/libvir.c | 4 +++-
python/types.c | 4 +++-
src/event.c | 1 +
src/xm_internal.c | 2 ++
tests/reconnect.c | 2 ++
tests/testutils.c | 2 ++
9 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/docs/examples/info1.c b/docs/examples/info1.c
index f17bde8..53a9844 100644
--- a/docs/examples/info1.c
+++ b/docs/examples/info1.c
@@ -9,6 +9,8 @@
* copy: see Copyright for the status of this software.
*/
+#include "config.h"
+
#include <stdio.h>
#include <libvirt/libvirt.h>
diff --git a/docs/examples/suspend.c b/docs/examples/suspend.c
index 80e4da7..5bc47a4 100644
--- a/docs/examples/suspend.c
+++ b/docs/examples/suspend.c
@@ -11,6 +11,8 @@
* copy: see Copyright for the status of this software.
*/
+#include "config.h"
+
#include <stdlib.h>
#include <stdio.h>
#include <libvirt/libvirt.h>
diff --git a/proxy/libvirt_proxy.c b/proxy/libvirt_proxy.c
index d7deb44..152df56 100644
--- a/proxy/libvirt_proxy.c
+++ b/proxy/libvirt_proxy.c
@@ -2,13 +2,15 @@
* proxy_svr.c: root suid proxy server for Xen access to APIs with no
* side effects from unauthenticated clients.
*
- * Copyright (C) 2006 Red Hat, Inc.
+ * Copyright (C) 2006, 2007 Red Hat, Inc.
*
* See COPYING.LIB for the License of this software
*
* Daniel Veillard <veillard(a)redhat.com>
*/
+#include "config.h"
+
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
diff --git a/python/libvir.c b/python/libvir.c
index bab34b3..a025afd 100644
--- a/python/libvir.c
+++ b/python/libvir.c
@@ -4,11 +4,13 @@
* entry points where an automatically generated stub is
* unpractical
*
- * Copyright (C) 2005 Red Hat, Inc.
+ * Copyright (C) 2005, 2007 Red Hat, Inc.
*
* Daniel Veillard <veillard(a)redhat.com>
*/
+#include "config.h"
+
#include <Python.h>
#include "libvirt/libvirt.h"
#include "libvirt/virterror.h"
diff --git a/python/types.c b/python/types.c
index cc0f2b1..146bb24 100644
--- a/python/types.c
+++ b/python/types.c
@@ -2,11 +2,13 @@
* types.c: converter functions between the internal representation
* and the Python objects
*
- * Copyright (C) 2005 Red Hat, Inc.
+ * Copyright (C) 2005, 2007 Red Hat, Inc.
*
* Daniel Veillard <veillard(a)redhat.com>
*/
+#include "config.h"
+
#include "libvirt_wrap.h"
PyObject *
diff --git a/src/event.c b/src/event.c
index 2fe9a26..7dcbf32 100644
--- a/src/event.c
+++ b/src/event.c
@@ -21,6 +21,7 @@
* Author: Daniel P. Berrange <berrange(a)redhat.com>
*/
+#include "config.h"
#include "event.h"
diff --git a/src/xm_internal.c b/src/xm_internal.c
index 43263d7..07abbb1 100644
--- a/src/xm_internal.c
+++ b/src/xm_internal.c
@@ -23,6 +23,8 @@
*/
#ifdef WITH_XEN
+#include "config.h"
+
#include <dirent.h>
#include <time.h>
#include <sys/stat.h>
diff --git a/tests/reconnect.c b/tests/reconnect.c
index 246e3bb..d94f5c7 100644
--- a/tests/reconnect.c
+++ b/tests/reconnect.c
@@ -1,3 +1,5 @@
+#include "config.h"
+
#include <stdio.h>
#include <stdlib.h>
#include "libvirt/libvirt.h"
diff --git a/tests/testutils.c b/tests/testutils.c
index 6121785..1141edb 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -10,6 +10,8 @@
* $Id$
*/
+#include "config.h"
+
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
--
1.5.3.7.1006.g8c6a6
3
5
Hey.
I'm using Fedora 8 and the included libvirt and virt-manager packages.
I just noticed that it is not possible so set scheddunling for qemu
guests.
Could this be implemented by setting the guests nice value, so instances
are handled different by Linux's prcoess scheduler?
- fabian
3
3
07 Dec '07
Here, "base" is set, gets memory allocated for it, and is written to,
then freed, but it is never used.
diff --git a/qemud/qemud.c b/qemud/qemud.c
index f88ed42..6b515d9 100644
--- a/qemud/qemud.c
+++ b/qemud/qemud.c
@@ -644,10 +644,8 @@ static int qemudInitPaths(struct qemud_server *server,
char *sockname,
char *roSockname,
int maxlen) {
- char *base = 0;
uid_t uid = geteuid();
-
if (!uid) {
if (snprintf (sockname, maxlen, "%s/run/libvirt/libvirt-sock",
LOCAL_STATE_DIR) >= maxlen)
@@ -678,15 +676,8 @@ static int qemudInitPaths(struct qemud_server *server,
if (snprintf(server->logDir, PATH_MAX, "%s/.libvirt/log", pw->pw_dir) >= PATH_MAX)
goto snprintf_error;
- if (asprintf (&base, "%s/.libvirt", pw->pw_dir) == -1) {
- qemudLog (QEMUD_ERR, "out of memory in asprintf");
- return -1;
- }
-
} /* !remote */
- if (base) free (base);
-
return 0;
snprintf_error:
--
1.5.3.7.949.g2221a6
2
2
The virsh prompt seems to depend on your UID, rather than whether the
connection is really readonly or not.
Rich.
--
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in
England and Wales under Company Registration No. 03798903
3
2
This patch adds a configure option --without-libvirtd which disables
building of libvirtd. It doesn't attempt any type of auto-detection and
the default is still to build libvirtd.
I had to move stuff around in the qemud/Makefile.am file in order to
bring the libvirtd-dependent parts together, but I didn't change any of it.
Rich.
--
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in
England and Wales under Company Registration No. 03798903
3
2
We recently added a call to getpass(3) function. Needless to say this
doesn't exist on Windows. More seriously the man-page for getpass on
Linux has strong exhortations not to use the function.
NAME
getpass - get a password
SYNOPSIS
#include <unistd.h>
char *getpass( const char * prompt );
DESCRIPTION
This function is obsolete. Do not use it.
The getpass() function opens /dev/tty (the controlling terminal
of the
process), outputs the string prompt, turns off echoing, reads
one line
(the "password"), restores the terminal state and closes
/dev/tty
again.
[...]
CONFORMING TO
Present in SUSv2, but marked LEGACY. Removed in POSIX.1-2001.
Should we remove it? Replace it?
Rich.
--
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in
England and Wales under Company Registration No. 03798903
3
4
I noticed that gnulib-tool had deposited a file named
link-warning.h into the top-level directory.
How odd, I thought. This doesn't affect other projects
because most of them define what autoconf calls the "AUX" directory,
with a line like this in configure.in or configure.ac:
AC_CONFIG_AUX_DIR(build-aux)
If you don't define that, it defaults to the top level directory,
and that's where files pulled in by gettextize like these are deposited:
config.guess
compile
libtool
ltconfig
ltmain.sh
config.sub
config.rpath
mkinstalldirs
Rather than committing link-warning.h in the top-level, I propose to add
the above AC_CONFIG_AUX_DIR line. That change should be transparent
to all the other tools, and would let me commit link-warning.h in the
build-aux subdir, instead of in the top-level dir.
Any objection?
2
2
These are preliminary packages for libvirt 0.3.3 on Debian. The libvirt
package is derived from the one in Ubuntu, originally packaged by Andrew
Mitchell.
Xen
---
Unfortunately a patch is needed to the base Xen package in Debian, so
that it includes the header files needed by libvirt. Doubly
unfortunately because of the strange way that Xen is packaged in Debian
it isn't possible to modify the changelog (therefore the version or
release number) without some voodoo which I don't understand[1]. So the
version here has the same version/release as the one currently in Debian
testing. As a result you'll have to manually install it using dpkg.
Binary for i386:
http://et.redhat.com/~rjones/debian-libvirt/xen-docs-3.1_3.1.1-1_all.deb
http://et.redhat.com/~rjones/debian-libvirt/xen-hypervisor-3.1-1-i386_3.1.1…
http://et.redhat.com/~rjones/debian-libvirt/xen-hypervisor-3.1-1-i386-nonpa…
http://et.redhat.com/~rjones/debian-libvirt/xen-utils-3.1-1_3.1.1-1_i386.deb
Patch required to get the right header files:
http://et.redhat.com/~rjones/debian-libvirt/debian-xen-includes.patch
libvirt
-------
Source:
http://et.redhat.com/~rjones/debian-libvirt/libvirt_0.3.3-1.diff.gz
http://et.redhat.com/~rjones/debian-libvirt/libvirt_0.3.3-1.dsc
http://et.redhat.com/~rjones/debian-libvirt/libvirt_0.3.3-1_i386.changes
http://et.redhat.com/~rjones/debian-libvirt/libvirt_0.3.3.orig.tar.gz
Binary for i386:
http://et.redhat.com/~rjones/debian-libvirt/libvirt0_0.3.3-1_i386.deb
http://et.redhat.com/~rjones/debian-libvirt/libvirt-bin_0.3.3-1_i386.deb
http://et.redhat.com/~rjones/debian-libvirt/libvirt-dev_0.3.3-1_i386.deb
http://et.redhat.com/~rjones/debian-libvirt/python-libvirt_0.3.3-1_i386.deb
virt-install & virt-manager
---------------------------
I'm working on these, although I managed to "brick" my Debian install
because of some stupidity in pycentral ...
Rich.
[1] See this thread for the full details:
http://lists.alioth.debian.org/pipermail/pkg-xen-devel/2007-November/001506…
--
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in
England and Wales under Company Registration No. 03798903
2
1
06 Dec '07
After applying this patch, you can compile CVS libvirt with -Werror.
Rich.
--
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in
England and Wales under Company Registration No. 03798903
3
2
06 Dec '07
The current CVS code doesn't compile on RHEL5/F6 because readline lib
there require ncurses, and we removed that check earlier. Sor we find
the readline headers but the lib is not found. Unfortunately virsh.c
tests the availablility of the header to use readline, and link time failures
follow. The patch below:
- exports a READLINE_CFLAGS from configure if used
- use the READLINE_CFLAGS when compiling virsh.c
- change virsh.c to rely on this instead of the header test
- adds a message about readline usage at the end of configure
configure: Miscellaneous
configure:
configure: Debug: no
configure: Readline: yes
configure:
Another patch available soon should fix the readline library detection itself,
Daniel
--
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard | virtualization library http://libvirt.org/
veillard(a)redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
3
8
Is there a searchable archive of this list somewhere?
Thanks - jack
3
2
I have Fedora 8 witch contains:
libvirt-0.3.3-2.fc8
This version of libvirt automatically starts a copy of dnsmasq if it exists.
Is there a way to specify a dnsmasq.conf file that this will use or specify
command line options for dnsmasq when it is started? There are dnsmasq
options and config changes that I'd like to specify but I can't figure out
where this would be done. libvirt does not use the /etc/dnsmasq.conf file
or start dnsmasq using the normal init scripts.
Thanks - jack
2
1
Here's the complete patch (but still none of the new files), rebased
and relative to the trunk. As before, this passes "make distcheck".
And as Daniel Veillard noted, you'd need git.
However the next patch will cvs-add all of the bootstrap-imported
files, so you won't need git unless you want to try this particular patch.
-------------------------------------------------------------
Use gnulib, starting with its physmem and getaddrinfo modules.
New files go into these directories:
gnulib/lib
gnulib/m4
tests/gnulib
* bootstrap: A wrapper around gnulib-tool.
* configure.in: Invoke gl_EARLY and gl_INIT, being careful to put gl_EARLY
before any macro that uses AC_COMPILE_IFELSE.
(AC_OUTPUT): Add lib/Makefile and gl-tests/Makefile. Remove m4/Makefile.
* Makefile.am (SUBDIRS): Add gnulib/lib and tests/gnulib. Remove m4.
* m4/Makefile.am: Remove file. Not needed.
* src/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS, libvirt_la_LIBADD): Add ../gnulib/lib/libgnu.la.
* src/nodeinfo.c: Include "physmem.h".
* qemud/qemud.c, src/remote_internal.c: Include "getaddrinfo.h".
(MEMINFO_PATH, linuxNodeInfoMemPopulate): Remove definitions.
(virNodeInfoPopulate): Use physmem_total, not linuxNodeInfoMemPopulate.
* tests/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS): Add ../gnulib/lib/libgnu.la.
* qemud/Makefile.am (libvirtd_LDADD): Add ../gnulib/lib/libgnu.la.
* tests/nodeinfotest.c (linuxTestCompareFiles): No longer read total
memory from a file.
Update expected output not to include "Memory: NNNN"
* tests/nodeinfodata/linux-nodeinfo-1.txt:
* tests/nodeinfodata/linux-nodeinfo-2.txt:
* tests/nodeinfodata/linux-nodeinfo-3.txt:
* tests/nodeinfodata/linux-nodeinfo-4.txt:
* tests/nodeinfodata/linux-nodeinfo-5.txt:
* tests/nodeinfodata/linux-nodeinfo-6.txt:
* src/test.c [WITH_TEST]: Remove definition of _GNU_SOURCE that
would conflict with the one now in "config.h".
* autogen.sh: Add -I gnulib/m4.
Signed-off-by: Jim Meyering <meyering(a)redhat.com>
---
Makefile.am | 5 +-
autogen.sh | 2 +-
bootstrap | 108 +++++++++++++++++++++++++++++++
configure.in | 11 ++-
m4/Makefile.am | 3 -
qemud/Makefile.am | 3 +-
qemud/qemud.c | 1 +
src/Makefile.am | 8 ++-
src/nodeinfo.c | 55 +++-------------
src/remote_internal.c | 1 +
src/test.c | 2 -
tests/Makefile.am | 2 +
tests/nodeinfodata/linux-nodeinfo-1.txt | 2 +-
tests/nodeinfodata/linux-nodeinfo-2.txt | 2 +-
tests/nodeinfodata/linux-nodeinfo-3.txt | 2 +-
tests/nodeinfodata/linux-nodeinfo-4.txt | 2 +-
tests/nodeinfodata/linux-nodeinfo-5.txt | 2 +-
tests/nodeinfodata/linux-nodeinfo-6.txt | 2 +-
tests/nodeinfotest.c | 23 ++-----
19 files changed, 151 insertions(+), 85 deletions(-)
create mode 100755 bootstrap
delete mode 100644 m4/Makefile.am
diff --git a/Makefile.am b/Makefile.am
index eaa204e..1f2ca52 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,8 +1,9 @@
## Process this file with automake to produce Makefile.in
-SUBDIRS = src qemud proxy include docs @PYTHON_SUBDIR@ tests po m4 scripts
+SUBDIRS = gnulib/lib src qemud proxy include docs @PYTHON_SUBDIR@ \
+ tests/gnulib tests po scripts
-ACLOCAL_AMFLAGS = -I m4
+ACLOCAL_AMFLAGS = -I m4 -I gnulib/m4
EXTRA_DIST = libvirt.spec.in libvirt.spec COPYING.LIB \
libvirt.pc.in libvirt.pc TODO AUTHORS ChangeLog \
diff --git a/autogen.sh b/autogen.sh
index 97b636d..3bcffd3 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -57,7 +57,7 @@ fi
autopoint --force
#rm -rf m4
libtoolize --copy --force
-aclocal -I m4
+aclocal -I m4 -I gnulib/m4
autoheader
automake --add-missing
autoconf
diff --git a/bootstrap b/bootstrap
new file mode 100755
index 0000000..ca186bd
--- /dev/null
+++ b/bootstrap
@@ -0,0 +1,108 @@
+#!/bin/sh
+# Run this after autogen.sh, to pull in all of the gnulib-related bits.
+# It's important to run *after* autogen.sh, since it updates some of
+# the same files autogen.sh does, yet those from gnulib are newer,
+# and match the tests. So if a gnulib bug has been fixed since the
+# snapshot taken for whatever gettext release you're using, yet you
+# run "make check" against the wrong version, the corresponding unit
+# test in gl-tests/ may well fail.
+
+usage() {
+ echo >&2 "\
+Usage: $0 [OPTION]...
+Bootstrap this package from the checked-out sources.
+
+Options:
+ --gnulib-srcdir=DIRNAME Specify the local directory where gnulib
+ sources reside. Use this if you already
+ have gnulib sources on your machine, and
+ do not want to waste your bandwidth downloading
+ them again.
+
+If the file bootstrap.conf exists in the current working directory, its
+contents are read as shell variables to configure the bootstrap.
+
+Running without arguments will suffice in most cases.
+"
+}
+
+for option
+do
+ case $option in
+ --help)
+ usage
+ exit;;
+ --gnulib-srcdir=*)
+ GNULIB_SRCDIR=`expr "$option" : '--gnulib-srcdir=\(.*\)'`;;
+ *)
+ echo >&2 "$0: $option: unknown option"
+ exit 1;;
+ esac
+done
+
+cleanup_gnulib() {
+ st=$?
+ rm -fr .gnulib
+ exit $st
+}
+
+case ${GNULIB_SRCDIR--} in
+-)
+ if [ ! -d gnulib ]; then
+ echo "$0: getting gnulib files..."
+
+ trap cleanup_gnulib 1 2 13 15
+
+ git clone --depth 1 git://git.sv.gnu.org/gnulib .gnulib ||
+ cleanup_gnulib
+
+ trap - 1 2 13 15
+ fi
+ GNULIB_SRCDIR=.gnulib
+esac
+
+gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
+<$gnulib_tool || exit
+
+# Tell gnulib to:
+# put tests in new tests/gnulib/ dir
+# put *.m4 files in new gnulib/m4/ dir
+# put *.[ch] files in new gnulib/lib/ dir.
+# With --avoid=snprintf, we drop support for systems (many!) with
+# losing snprintf but pull in about 30 fewer files
+# With the current gnulib and gettext-0.17, the following
+# files are added to m4/ by both. But gnulib is stable enough
+# and gettext-0.16.1 is new enough that they are identical.
+# compiler-flags.m4
+# inttypes_h.m4
+# longlong.m4
+# size_max.m4
+# stdint_h.m4
+# wchar_t.m4
+# wint_t.m4
+# xsize.m4
+
+# Note that if we don't exclude the snprintf module, there are two tests
+# that have incompatible licenses, so we would have to exclude them. Even
+# excluding those two test modules, find reports a total of 94 added files.
+# Yes, snprintf has some heavy-duty dependents.
+# --avoid=snprintf-tests
+# --avoid=vasnprintf-tests
+
+avoid='--avoid=snprintf'
+
+avoid='
+ --avoid=snprintf-tests
+ --avoid=vasnprintf-tests
+'
+
+$gnulib_tool \
+ --lgpl \
+ $avoid \
+ --avoid=snprintf-tests \
+ --avoid=vasnprintf-tests \
+ --with-tests \
+ --m4-base=gnulib/m4 \
+ --source-base=gnulib/lib \
+ --tests-base=tests/gnulib \
+ --import physmem getaddrinfo
diff --git a/configure.in b/configure.in
index 6cd7fe2..0cc8b6d 100644
--- a/configure.in
+++ b/configure.in
@@ -28,11 +28,15 @@ AVAHI_REQUIRED="0.6.0"
dnl Checks for C compiler.
AC_PROG_CC
-AM_PROG_CC_STDC
-AC_C_CONST
AC_PROG_INSTALL
AC_PROG_CPP
+gl_EARLY
+gl_INIT
+
+AM_PROG_CC_STDC
+AC_C_CONST
+
dnl Make sure we have an ANSI compiler
AM_C_PROTOTYPES
test "x$U" != "x" && AC_MSG_ERROR(Compiler not ANSI compliant)
@@ -555,11 +559,12 @@ cp COPYING.LIB COPYING
AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \
docs/examples/Makefile docs/devhelp/Makefile \
docs/examples/python/Makefile \
+ gnulib/lib/Makefile tests/gnulib/Makefile \
libvirt.pc libvirt.spec \
po/Makefile.in scripts/Makefile \
include/libvirt/Makefile include/libvirt/libvirt.h \
python/Makefile python/tests/Makefile \
- qemud/Makefile m4/Makefile \
+ qemud/Makefile \
tests/Makefile proxy/Makefile \
tests/xml2sexprdata/Makefile \
tests/sexpr2xmldata/Makefile \
diff --git a/m4/Makefile.am b/m4/Makefile.am
deleted file mode 100644
index 188b2fe..0000000
--- a/m4/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-
-EXTRA_DIST = compiler-flags.m4
-
diff --git a/qemud/Makefile.am b/qemud/Makefile.am
index 1737176..7e3b694 100644
--- a/qemud/Makefile.am
+++ b/qemud/Makefile.am
@@ -27,6 +27,7 @@ libvirtd_SOURCES = \
#-D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_POSIX_C_SOURCE=199506L
libvirtd_CFLAGS = \
+ -I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
-I$(top_srcdir)/include -I$(top_builddir)/include \
$(LIBXML_CFLAGS) $(GNUTLS_CFLAGS) \
$(WARN_CFLAGS) -DLOCAL_STATE_DIR="\"$(localstatedir)\"" \
@@ -37,7 +38,7 @@ libvirtd_CFLAGS = \
libvirtd_LDFLAGS = $(WARN_CFLAGS) $(LIBXML_LIBS) $(GNUTLS_LIBS)
libvirtd_DEPENDENCIES = ../src/libvirt.la
-libvirtd_LDADD = ../src/libvirt.la
+libvirtd_LDADD = ../src/libvirt.la ../gnulib/lib/libgnu.la
if HAVE_AVAHI
libvirtd_SOURCES += mdns.c mdns.h
diff --git a/qemud/qemud.c b/qemud/qemud.c
index f88ed42..caccd29 100644
--- a/qemud/qemud.c
+++ b/qemud/qemud.c
@@ -53,6 +53,7 @@
#include <libvirt/virterror.h>
#include "internal.h"
+#include "getaddrinfo.h"
#include "../src/internal.h"
#include "../src/remote_internal.h"
#include "../src/conf.h"
diff --git a/src/Makefile.am b/src/Makefile.am
index 52ffbaf..f9a2308 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,6 +1,8 @@
## Process this file with automake to produce Makefile.in
-INCLUDES = -I$(top_builddir)/include \
+INCLUDES = \
+ -I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
+ -I../include \
-I@top_srcdir@/include \
-I@top_srcdir@/qemud \
$(LIBXML_CFLAGS) \
@@ -14,7 +16,7 @@ INCLUDES = -I$(top_builddir)/include \
$(WARN_CFLAGS) \
$(LIBVIRT_FEATURES)
DEPS = libvirt.la
-LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) libvirt.la
+LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) libvirt.la ../gnulib/lib/libgnu.la
VIRSH_LIBS = @VIRSH_LIBS@
confdir = $(sysconfdir)/libvirt/
@@ -60,7 +62,7 @@ SERVER_SOURCES = \
libvirt_la_SOURCES = $(CLIENT_SOURCES) $(SERVER_SOURCES)
libvirt_la_LIBADD = $(LIBXML_LIBS) $(GNUTLS_LIBS) $(LTLIBOBJS) \
- @CYGWIN_EXTRA_LIBADD@
+ @CYGWIN_EXTRA_LIBADD@ ../gnulib/lib/libgnu.la
libvirt_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libvirt_sym.version \
-version-info @LIBVIRT_VERSION_INFO@ \
$(COVERAGE_CFLAGS:-f%=-Wc,-f%) \
diff --git a/src/nodeinfo.c b/src/nodeinfo.c
index a0a26eb..2ef49cb 100644
--- a/src/nodeinfo.c
+++ b/src/nodeinfo.c
@@ -29,14 +29,14 @@
#include <ctype.h>
#include "nodeinfo.h"
+#include "physmem.h"
#ifdef __linux__
-#define MEMINFO_PATH "/proc/meminfo"
#define CPUINFO_PATH "/proc/cpuinfo"
/* NB, these are not static as we need to call them from testsuite */
-int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo);
-int linuxNodeInfoMemPopulate(virConnectPtr conn, FILE *meminfo, virNodeInfoPtr nodeinfo);
+int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo,
+ virNodeInfoPtr nodeinfo);
int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo) {
char line[1024];
@@ -114,44 +114,11 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n
return 0;
}
-
-int linuxNodeInfoMemPopulate(virConnectPtr conn, FILE *meminfo,
- virNodeInfoPtr nodeinfo) {
- char line[1024];
-
- nodeinfo->memory = 0;
-
- while (fgets(line, sizeof(line), meminfo) != NULL) {
- if (STREQLEN(line, "MemTotal:", 9)) {
- char *p;
- unsigned int ui;
- if (xstrtol_ui(line + 10, &p, 10, &ui) == 0
- && (*p == '\0' || isspace(*p))) {
- nodeinfo->memory = ui;
- break;
- }
- }
- }
- if (!nodeinfo->memory) {
- __virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
- VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
- "no memory found");
- return -1;
- }
-
- return 0;
-}
-
-
#endif
int virNodeInfoPopulate(virConnectPtr conn,
virNodeInfoPtr nodeinfo) {
struct utsname info;
-#ifdef __linux__
- int ret;
- FILE *cpuinfo, *meminfo;
-#endif
if (uname(&info) < 0) {
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
@@ -164,7 +131,9 @@ int virNodeInfoPopulate(virConnectPtr conn,
nodeinfo->model[sizeof(nodeinfo->model)-1] = '\0';
#ifdef __linux__
- cpuinfo = fopen(CPUINFO_PATH, "r");
+ {
+ int ret;
+ FILE *cpuinfo = fopen(CPUINFO_PATH, "r");
if (!cpuinfo) {
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
@@ -176,17 +145,11 @@ int virNodeInfoPopulate(virConnectPtr conn,
if (ret < 0)
return -1;
- meminfo = fopen(MEMINFO_PATH, "r");
- if (!meminfo) {
- __virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
- VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
- "cannot open %s %s", MEMINFO_PATH, strerror(errno));
- return -1;
- }
- ret = linuxNodeInfoMemPopulate(conn, meminfo, nodeinfo);
- fclose(meminfo);
+ /* Convert to KB. */
+ nodeinfo->memory = physmem_total () / 1024;
return ret;
+ }
#else
/* XXX Solaris will need an impl later if they port QEMU driver */
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
diff --git a/src/remote_internal.c b/src/remote_internal.c
index a8227f3..275405a 100644
--- a/src/remote_internal.c
+++ b/src/remote_internal.c
@@ -52,6 +52,7 @@
#include "internal.h"
#include "driver.h"
+#include "getaddrinfo.h"
#include "remote_internal.h"
#include "remote_protocol.h"
diff --git a/src/test.c b/src/test.c
index 010ea15..bab280f 100644
--- a/src/test.c
+++ b/src/test.c
@@ -25,8 +25,6 @@
#ifdef WITH_TEST
-#define _GNU_SOURCE /* for asprintf */
-
#include <stdio.h>
#include <string.h>
#include <sys/time.h>
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 512162b..8220e1b 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -11,6 +11,7 @@ SUBDIRS = virshdata confdata sexpr2xmldata xml2sexprdata xmconfigdata xencapsdat
LIBVIRT = $(wildcard $(top_builddir)/src/.libs/libvirt_la-*.o)
INCLUDES = \
+ -I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
-I$(top_builddir)/include \
-I$(top_builddir)/src \
-I$(top_srcdir)/include \
@@ -29,6 +30,7 @@ LDADDS = \
$(GNUTLS_LIBS) \
$(WARN_CFLAGS) \
$(LIBVIRT) \
+ ../gnulib/lib/libgnu.la \
$(COVERAGE_LDFLAGS)
EXTRA_DIST = \
diff --git a/tests/nodeinfodata/linux-nodeinfo-1.txt b/tests/nodeinfodata/linux-nodeinfo-1.txt
index 1a38ad1..e52e20a 100644
--- a/tests/nodeinfodata/linux-nodeinfo-1.txt
+++ b/tests/nodeinfodata/linux-nodeinfo-1.txt
@@ -1 +1 @@
-CPUs: 2, MHz: 2800, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1, Memory: 2053960
+CPUs: 2, MHz: 2800, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1
diff --git a/tests/nodeinfodata/linux-nodeinfo-2.txt b/tests/nodeinfodata/linux-nodeinfo-2.txt
index 1c31a0c..12e819b 100644
--- a/tests/nodeinfodata/linux-nodeinfo-2.txt
+++ b/tests/nodeinfodata/linux-nodeinfo-2.txt
@@ -1 +1 @@
-CPUs: 2, MHz: 2211, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1, Memory: 4059540
+CPUs: 2, MHz: 2211, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1
diff --git a/tests/nodeinfodata/linux-nodeinfo-3.txt b/tests/nodeinfodata/linux-nodeinfo-3.txt
index e2cc841..d285781 100644
--- a/tests/nodeinfodata/linux-nodeinfo-3.txt
+++ b/tests/nodeinfodata/linux-nodeinfo-3.txt
@@ -1 +1 @@
-CPUs: 4, MHz: 1595, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1, Memory: 4059272
+CPUs: 4, MHz: 1595, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1
diff --git a/tests/nodeinfodata/linux-nodeinfo-4.txt b/tests/nodeinfodata/linux-nodeinfo-4.txt
index 2c75ea3..991d4f9 100644
--- a/tests/nodeinfodata/linux-nodeinfo-4.txt
+++ b/tests/nodeinfodata/linux-nodeinfo-4.txt
@@ -1 +1 @@
-CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 1, Cores: 4, Threads: 1, Memory: 4059272
+CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 1, Cores: 4, Threads: 1
diff --git a/tests/nodeinfodata/linux-nodeinfo-5.txt b/tests/nodeinfodata/linux-nodeinfo-5.txt
index 01fee52..dce7ada 100644
--- a/tests/nodeinfodata/linux-nodeinfo-5.txt
+++ b/tests/nodeinfodata/linux-nodeinfo-5.txt
@@ -1 +1 @@
-CPUs: 4, MHz: 2814, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1, Memory: 4059272
+CPUs: 4, MHz: 2814, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1
diff --git a/tests/nodeinfodata/linux-nodeinfo-6.txt b/tests/nodeinfodata/linux-nodeinfo-6.txt
index a7a2cfe..75cdaa9 100644
--- a/tests/nodeinfodata/linux-nodeinfo-6.txt
+++ b/tests/nodeinfodata/linux-nodeinfo-6.txt
@@ -1 +1 @@
-CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1, Memory: 4059272
+CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1
diff --git a/tests/nodeinfotest.c b/tests/nodeinfotest.c
index 7275cc3..fb563b5 100644
--- a/tests/nodeinfotest.c
+++ b/tests/nodeinfotest.c
@@ -21,14 +21,13 @@ static char *abs_top_srcdir;
#ifdef __linux__
extern int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo);
-extern int linuxNodeInfoMemPopulate(virConnectPtr conn, FILE *meminfo, virNodeInfoPtr nodeinfo);
-static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofile, const char *outputfile) {
+static int linuxTestCompareFiles(const char *cpuinfofile, const char *outputfile) {
char actualData[MAX_FILE];
char expectData[MAX_FILE];
char *expect = &expectData[0];
virNodeInfo nodeinfo;
- FILE *cpuinfo, *meminfo;
+ FILE *cpuinfo;
if (virtTestLoadFile(outputfile, &expect, MAX_FILE) < 0)
return -1;
@@ -42,19 +41,10 @@ static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofil
}
fclose(cpuinfo);
- meminfo = fopen(meminfofile, "r");
- if (!meminfo)
- return -1;
- if (linuxNodeInfoMemPopulate(NULL, meminfo, &nodeinfo) < 0) {
- fclose(meminfo);
- return -1;
- }
- fclose(meminfo);
-
snprintf(actualData, MAX_FILE,
- "CPUs: %u, MHz: %u, Nodes: %u, Sockets: %u, Cores: %u, Threads: %u, Memory: %lu\n",
+ "CPUs: %u, MHz: %u, Nodes: %u, Sockets: %u, Cores: %u, Threads: %u\n",
nodeinfo.cpus, nodeinfo.mhz, nodeinfo.nodes, nodeinfo.sockets,
- nodeinfo.cores, nodeinfo.threads, nodeinfo.memory);
+ nodeinfo.cores, nodeinfo.threads);
if (STRNEQ(actualData, expectData)) {
if (getenv("DEBUG_TESTS")) {
@@ -70,15 +60,12 @@ static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofil
static int linuxTestNodeInfo(const void *data) {
char cpuinfo[PATH_MAX];
- char meminfo[PATH_MAX];
char output[PATH_MAX];
snprintf(cpuinfo, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.cpuinfo",
abs_top_srcdir, (const char*)data);
- snprintf(meminfo, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.meminfo",
- abs_top_srcdir, (const char*)data);
snprintf(output, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.txt",
abs_top_srcdir, (const char*)data);
- return linuxTestCompareFiles(cpuinfo, meminfo, output);
+ return linuxTestCompareFiles(cpuinfo, output);
}
#endif
--
1.5.3.6.950.g92b7b
4
20
I've checked in all of the changes to let libvirt use
the first two modules from gnulib.
That exposed the fact that gnulib's gl_INIT macro depends
on autoconf-2.59c or newer for its definition of the m4_foreach_w
macro. Here's a kludgey work-around patch, just committed, to
fix build failure for developers who are stuck using such old tools:
(also removed some trailing blanks)
Accommodate developers using autoconf-2.59.
* configure.in (m4_foreach_w): Define if not defined.
I'll propose the proper change (in gnulib) tomorrow.
Signed-off-by: Jim Meyering <meyering(a)redhat.com>
---
ChangeLog | 5 +++++
configure.in | 17 ++++++++++++-----
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 4b3c266..302706c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Dec 5 23:57:53 CET 2007 Jim Meyering <meyering(a)redhat.com>
+
+ Accommodate developers using autoconf-2.59.
+ * configure.in (m4_foreach_w): Define if not defined.
+
Wed Dec 5 22:38:18 CET 2007 Jim Meyering <meyering(a)redhat.com>
Include "config.h".
diff --git a/configure.in b/configure.in
index a7f692e..8d2a143 100644
--- a/configure.in
+++ b/configure.in
@@ -33,6 +33,13 @@ AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_CPP
+dnl gl_INIT uses m4_foreach_w, yet that is not defined in autoconf-2.59.
+dnl In order to accommodate developers with such old tools, here's a
+dnl replacement definition.
+m4_ifndef([m4_foreach_w],
+ [m4_define([m4_foreach_w],
+ [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
+
gl_EARLY
gl_INIT
@@ -289,8 +296,8 @@ LIBXML_LIBS=""
LIBXML_FOUND="no"
AC_ARG_WITH(libxml, [ --with-libxml=[PFX] libxml2 location])
-if test "z$with_libxml" = "zno" ; then
- AC_MSG_CHECKING(for libxml2 libraries >= $LIBXML_REQUIRED)
+if test "z$with_libxml" = "zno" ; then
+ AC_MSG_CHECKING(for libxml2 libraries >= $LIBXML_REQUIRED)
AC_MSG_ERROR(libxml2 >= $LIBXML_REQUIRED is required for libvirt)
elif test "z$with_libxml" = "z" -a "x$PKG_CONFIG" != "x" ; then
PKG_CHECK_EXISTS(libxml-2.0,[LIBXML_FOUND=yes])
@@ -299,7 +306,7 @@ elif test "z$with_libxml" = "z" -a "x$PKG_CONFIG" != "x" ; then
fi
fi
if test "z$LIBXML_FOUND" = "zno" ; then
- if test "z$with_libxml" != "z" ; then
+ if test "z$with_libxml" != "z" ; then
LIBXML_CONFIG=$with_libxml/bin/$LIBXML_CONFIG
fi
AC_MSG_CHECKING(libxml2 $LIBXML_CONFIG >= $LIBXML_REQUIRED )
@@ -442,8 +449,8 @@ AC_SUBST(AVAHI_LIBS)
dnl virsh libraries
AC_CHECK_HEADERS([readline/readline.h])
-AC_CHECK_LIB(readline, main,
- [VIRSH_LIBS="$VIRSH_LIBS -lreadline"],
+AC_CHECK_LIB(readline, main,
+ [VIRSH_LIBS="$VIRSH_LIBS -lreadline"],
[AC_MSG_WARN([readline library not found])],
[$VIRSH_LIBS])
AC_SUBST(VIRSH_LIBS)
--
1.5.3.7.1006.g8c6a6
1
0
Fixes compilation when ./configure --without-sasl.
Rich.
--
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in
England and Wales under Company Registration No. 03798903
2
1
This the 3rd iteration of the remote authentication / SASL patches
previously provided here:
v1: http://www.redhat.com/archives/libvir-list/2007-October/msg00131.html
v2: http://www.redhat.com/archives/libvir-list/2007-November/msg00005.html
This iteration has incorporate the feedback /bugs identified from
previous iterations. It also adds in an API for a callback to collect
credentials from the client applications, meaning username+password
based authentication is now also supported alongside Kerberos/GSSAPI.
I have also re-worked my previous PolicyKit patches:
http://www.redhat.com/archives/libvir-list/2007-September/msg00168.html
To fit into the generic authentication RPC mechanisms I added for SASL.
The resulting incremental patch for PolicyKit is much simpler, and
integrates better with client applications.
Finally, I have exposed the authentication callback support to python
and prototyped its use in virt-manager as a sanity check for the whole
API style.
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules: http://search.cpan.org/~danberr/ -=|
|=- Projects: http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|
4
66
[Libvir] [PATCH] Detect heap allocation failure; factor out some duplication.
by Jim Meyering 06 Dec '07
by Jim Meyering 06 Dec '07
06 Dec '07
I spotted a few unchecked heap allocations (strdup, malloc, calloc)
in qemud.c and have fixed it so such failure evokes a proper diagnostic
rather than e.g., a segfault.
I've also arranged to free some of the memory upon failure,
but not all (see comments for why).
In spite of those additions, this patch factors out enough
duplication that the net change is to remove a few lines from the
file. Although in general I prefer to factor things out into
separate functions, in this case, it seemed better to use macros.
Wed Nov 28 14:16:17 CET 2007 Jim Meyering <meyering(a)redhat.com>
Detect heap allocation failure; factor out some duplication.
* qemud/qemud.c (mdns_name, tls_allowed_ip_list, tls_allowed_dn_list):
Remove "const", now that we free these.
(remoteCheckDN, remoteCheckAccess): Adapt to const removal.
(qemudDispatchServer): Check for heap allocation failure.
CHECK_TYPE, GET_CONF_INT, GET_CONF_STR, GET_CONF_STR_LIST):
New and changed macros.
Signed-off-by: Jim Meyering <meyering(a)redhat.com>
---
qemud/qemud.c | 247 ++++++++++++++++++++++++++++-----------------------------
1 files changed, 121 insertions(+), 126 deletions(-)
diff --git a/qemud/qemud.c b/qemud/qemud.c
index 5f76a26..34ab815 100644
--- a/qemud/qemud.c
+++ b/qemud/qemud.c
@@ -79,13 +79,13 @@ static int unix_sock_ro_perms = 0777; /* Allow world */
#ifdef HAVE_AVAHI
static int mdns_adv = 1;
-static const char *mdns_name = NULL;
+static char *mdns_name = NULL;
#endif
static int tls_no_verify_certificate = 0;
static int tls_no_verify_address = 0;
-static const char **tls_allowed_ip_list = 0;
-static const char **tls_allowed_dn_list = 0;
+static char **tls_allowed_ip_list = NULL;
+static char **tls_allowed_dn_list = NULL;
static const char *key_file = LIBVIRT_SERVERKEY;
static const char *cert_file = LIBVIRT_SERVERCERT;
@@ -840,7 +840,7 @@ remoteCheckDN (gnutls_x509_crt_t cert)
{
char name[256];
size_t namesize = sizeof name;
- const char **wildcards;
+ char **wildcards;
int err;
err = gnutls_x509_crt_get_dn (cert, name, &namesize);
@@ -959,7 +959,7 @@ static int
remoteCheckAccess (struct qemud_client *client)
{
char addr[NI_MAXHOST];
- const char **wildcards;
+ char **wildcards;
int found, err;
/* Verify client certificate. */
@@ -1044,6 +1044,8 @@ static int qemudDispatchServer(struct qemud_server *server, struct qemud_socket
}
client = calloc(1, sizeof(struct qemud_client));
+ if (client == NULL)
+ goto cleanup;
client->magic = QEMUD_CLIENT_MAGIC;
client->fd = fd;
client->readonly = sock->readonly;
@@ -1523,31 +1525,38 @@ remoteReadConfigFile (const char *filename)
virConfValuePtr p;
-#define CHECK_TYPE(name,typ) if (p && p->type != (typ)) { \
- qemudLog (QEMUD_ERR, \
- "remoteReadConfigFile: %s: %s: expected type " #typ "\n", \
- filename, (name)); \
- return -1; \
- }
-
- p = virConfGetValue (conf, "listen_tls");
- CHECK_TYPE ("listen_tls", VIR_CONF_LONG);
- listen_tls = p ? p->l : listen_tls;
-
- p = virConfGetValue (conf, "listen_tcp");
- CHECK_TYPE ("listen_tcp", VIR_CONF_LONG);
- listen_tcp = p ? p->l : listen_tcp;
-
- p = virConfGetValue (conf, "tls_port");
- CHECK_TYPE ("tls_port", VIR_CONF_STRING);
- tls_port = p ? strdup (p->str) : tls_port;
-
- p = virConfGetValue (conf, "tcp_port");
- CHECK_TYPE ("tcp_port", VIR_CONF_STRING);
- tcp_port = p ? strdup (p->str) : tcp_port;
-
- p = virConfGetValue (conf, "unix_sock_group");
- CHECK_TYPE ("unix_sock_group", VIR_CONF_STRING);
+#define CHECK_TYPE(p, filename, conf, var_name, Type) \
+ do { \
+ (p) = virConfGetValue ((conf), #Type); \
+ if ((p) && (p)->type != (Type)) { \
+ qemudLog (QEMUD_ERR, \
+ "remoteReadConfigFile: %s: %s:" \
+ " expected type " #Type "\n", \
+ filename, #var_name); \
+ goto free_and_fail; \
+ } \
+ } while (0)
+
+#define GET_CONF_INT(p, filename, conf, var_name) \
+ do { \
+ CHECK_TYPE(p, filename, conf, var_name, VIR_CONF_LONG); \
+ if (p) \
+ (var_name) = p->l; \
+ } while (0)
+
+#define GET_CONF_STR(p, filename, conf, var_name) \
+ do { \
+ CHECK_TYPE(p, filename, conf, var_name, VIR_CONF_STRING); \
+ if (p) { \
+ if (!((var_name) = strdup ((p)->str))) \
+ goto diagnose_alloc_failure_and_fail; \
+ } \
+ } while (0)
+
+ GET_CONF_STR (p, filename, conf, tls_port);
+ GET_CONF_STR (p, filename, conf, tcp_port);
+
+ CHECK_TYPE (p, filename, conf, unix_sock_group, VIR_CONF_STRING);
if (p && p->str) {
if (getuid() != 0) {
qemudLog (QEMUD_WARN, "Cannot set group when not running as root");
@@ -1561,8 +1570,7 @@ remoteReadConfigFile (const char *filename)
}
}
- p = virConfGetValue (conf, "unix_sock_ro_perms");
- CHECK_TYPE ("unix_sock_ro_perms", VIR_CONF_STRING);
+ GET_CONF_INT (p, filename, conf, unix_sock_ro_perms);
if (p && p->str) {
if (xstrtol_i(p->str, NULL, 8, &unix_sock_ro_perms) != 0) {
qemudLog (QEMUD_ERR, "Failed to parse mode '%s'", p->str);
@@ -1570,8 +1578,7 @@ remoteReadConfigFile (const char *filename)
}
}
- p = virConfGetValue (conf, "unix_sock_rw_perms");
- CHECK_TYPE ("unix_sock_rw_perms", VIR_CONF_STRING);
+ GET_CONF_INT (p, filename, conf, unix_sock_rw_perms);
if (p && p->str) {
if (xstrtol_i(p->str, NULL, 8, &unix_sock_rw_perms) != 0) {
qemudLog (QEMUD_ERR, "Failed to parse mode '%s'", p->str);
@@ -1580,107 +1587,95 @@ remoteReadConfigFile (const char *filename)
}
#ifdef HAVE_AVAHI
- p = virConfGetValue (conf, "mdns_adv");
- CHECK_TYPE ("mdns_adv", VIR_CONF_LONG);
- mdns_adv = p ? p->l : mdns_adv;
-
- p = virConfGetValue (conf, "mdns_name");
- CHECK_TYPE ("mdns_name", VIR_CONF_STRING);
- mdns_name = p ? strdup (p->str) : NULL;
+ GET_CONF_INT (p, filename, conf, mdns_adv);
+ GET_CONF_STR (p, filename, conf, mdns_name);
#endif
- p = virConfGetValue (conf, "tls_no_verify_certificate");
- CHECK_TYPE ("tls_no_verify_certificate", VIR_CONF_LONG);
- tls_no_verify_certificate = p ? p->l : tls_no_verify_certificate;
-
- p = virConfGetValue (conf, "tls_no_verify_address");
- CHECK_TYPE ("tls_no_verify_address", VIR_CONF_LONG);
- tls_no_verify_address = p ? p->l : tls_no_verify_address;
-
- p = virConfGetValue (conf, "key_file");
- CHECK_TYPE ("key_file", VIR_CONF_STRING);
- key_file = p ? strdup (p->str) : key_file;
-
- p = virConfGetValue (conf, "cert_file");
- CHECK_TYPE ("cert_file", VIR_CONF_STRING);
- cert_file = p ? strdup (p->str) : cert_file;
-
- p = virConfGetValue (conf, "ca_file");
- CHECK_TYPE ("ca_file", VIR_CONF_STRING);
- ca_file = p ? strdup (p->str) : ca_file;
-
- p = virConfGetValue (conf, "crl_file");
- CHECK_TYPE ("crl_file", VIR_CONF_STRING);
- crl_file = p ? strdup (p->str) : crl_file;
-
- p = virConfGetValue (conf, "tls_allowed_dn_list");
- if (p) {
- switch (p->type) {
- case VIR_CONF_STRING:
- tls_allowed_dn_list = malloc (2 * sizeof (char *));
- tls_allowed_dn_list[0] = strdup (p->str);
- tls_allowed_dn_list[1] = 0;
- break;
+ GET_CONF_INT (p, filename, conf, tls_no_verify_certificate);
+ GET_CONF_INT (p, filename, conf, tls_no_verify_address);
+
+ GET_CONF_STR (p, filename, conf, key_file);
+ GET_CONF_STR (p, filename, conf, cert_file);
+ GET_CONF_STR (p, filename, conf, ca_file);
+ GET_CONF_STR (p, filename, conf, crl_file);
+
+#define GET_CONF_STR_LIST(List_var) \
+ do { \
+ p = virConfGetValue (conf, #List_var); \
+ if (p) { \
+ switch (p->type) { \
+ case VIR_CONF_STRING: \
+ if (!((List_var) = malloc (2 * sizeof (char *)))) \
+ goto free_and_fail; \
+ if (!((List_var)[0] = strdup (p->str))) \
+ goto free_and_fail; \
+ (List_var)[1] = NULL; \
+ break; \
+ \
+ case VIR_CONF_LIST: { \
+ int i, len = 0; \
+ virConfValuePtr pp; \
+ for (pp = p->list; pp; pp = p->next) \
+ len++; \
+ if (!((List_var) = malloc ((1+len) * sizeof (char *)))) \
+ goto free_and_fail; \
+ for (i = 0, pp = p->list; pp; ++i, pp = p->next) { \
+ if (pp->type != VIR_CONF_STRING) { \
+ qemudLog (QEMUD_ERR, "remoteReadConfigFile: %s: %s: " \
+ "must be a string or list of strings\n", \
+ filename, #List_var); \
+ goto free_and_fail; \
+ } \
+ if (!((List_var)[i] = strdup (pp->str))) \
+ goto free_and_fail; \
+ } \
+ (List_var)[i] = NULL; \
+ break; \
+ } \
+ \
+ default: \
+ qemudLog (QEMUD_ERR, "remoteReadConfigFile: %s: %s: " \
+ "must be a string or list of strings\n", \
+ filename, #List_var); \
+ goto free_and_fail; \
+ } \
+ } \
+ } while (0)
+
+ GET_CONF_STR_LIST (tls_allowed_dn_list);
+ GET_CONF_STR_LIST (tls_allowed_ip_list);
- case VIR_CONF_LIST: {
- int i, len = 0;
- virConfValuePtr pp;
- for (pp = p->list; pp; pp = p->next)
- len++;
- tls_allowed_dn_list =
- malloc ((1+len) * sizeof (char *));
- for (i = 0, pp = p->list; pp; ++i, pp = p->next) {
- if (pp->type != VIR_CONF_STRING) {
- qemudLog (QEMUD_ERR, "remoteReadConfigFile: %s: tls_allowed_dn_list: should be a string or list of strings\n", filename);
- return -1;
- }
- tls_allowed_dn_list[i] = strdup (pp->str);
- }
- tls_allowed_dn_list[i] = 0;
- break;
- }
+ virConfFree (conf);
+ return 0;
- default:
- qemudLog (QEMUD_ERR, "remoteReadConfigFile: %s: tls_allowed_dn_list: should be a string or list of strings\n", filename);
- return -1;
- }
- }
+ diagnose_alloc_failure_and_fail:
+ qemudLog (QEMUD_ERR, "remoteReadConfigFile: %s\n", strerror (errno));
- p = virConfGetValue (conf, "tls_allowed_ip_list");
- if (p) {
- switch (p->type) {
- case VIR_CONF_STRING:
- tls_allowed_ip_list = malloc (2 * sizeof (char *));
- tls_allowed_ip_list[0] = strdup (p->str);
- tls_allowed_ip_list[1] = 0;
- break;
+ free_and_fail:
+ free (mdns_name);
+ mdns_name = NULL;
- case VIR_CONF_LIST: {
- int i, len = 0;
- virConfValuePtr pp;
- for (pp = p->list; pp; pp = p->next)
- len++;
- tls_allowed_ip_list =
- malloc ((1+len) * sizeof (char *));
- for (i = 0, pp = p->list; pp; ++i, pp = p->next) {
- if (pp->type != VIR_CONF_STRING) {
- qemudLog (QEMUD_ERR, "remoteReadConfigFile: %s: tls_allowed_ip_list: should be a string or list of strings\n", filename);
- return -1;
- }
- tls_allowed_ip_list[i] = strdup (pp->str);
- }
- tls_allowed_ip_list[i] = 0;
- break;
- }
+ /* Don't bother trying to free tcp_port, tls_port, key_file, cert_file,
+ ca_file, or crl_file, since they are initialized to non-malloc'd
+ strings. Besides, these are static variables, and callers are
+ unlikely to call this function more than once, so there wouldn't
+ even be a real leak. */
- default:
- qemudLog (QEMUD_ERR, "remoteReadConfigFile: %s: tls_allowed_ip_list: should be a string or list of strings\n", filename);
- return -1;
- }
+ if (tls_allowed_ip_list) {
+ char *t;
+ for (t = *tls_allowed_ip_list; t; t++)
+ free (t);
+ tls_allowed_ip_list = NULL;
}
- virConfFree (conf);
- return 0;
+ if (tls_allowed_dn_list) {
+ char *t;
+ for (t = *tls_allowed_dn_list; t; t++)
+ free (t);
+ tls_allowed_dn_list = NULL;
+ }
+
+ return -1;
}
/* Print command-line usage. */
--
1.5.3.6.961.gecf4
3
8
Here is the first of two patches. For now, neither includes
all of the new files. That one's coming up shortly.
First the incremental one, to show you what's changed since last time:
(so you would apply this on top of the patch from last night)
I'll post the combined, (i.e., full, trunk-relative) one separately.
Adapt to change directory names:
Now we use these:
gnulib/lib
gnulib/m4
tests/gnulib
* Makefile.am (SUBDIRS): Change dir names.
* autogen.sh: Add -I gnulib/m4.
* bootstrap: Don't exclude snprintf after all. Define cleanup function.
* configure.in: adjust dir/Makefile names.
* qemud/Makefile.am: Adjust -I and .a paths.
* src/Makefile.am: Likewise.
* tests/Makefile.am: Likewise.
Signed-off-by: Jim Meyering <meyering(a)redhat.com>
---
Makefile.am | 6 +++---
autogen.sh | 2 +-
bootstrap | 34 ++++++++++++++++++++++++++--------
configure.in | 2 +-
qemud/Makefile.am | 4 ++--
src/Makefile.am | 6 +++---
tests/Makefile.am | 4 ++--
7 files changed, 38 insertions(+), 20 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index fcf0eb6..1f2ca52 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,9 +1,9 @@
## Process this file with automake to produce Makefile.in
-SUBDIRS = lib src qemud proxy include docs @PYTHON_SUBDIR@ \
- gl-tests tests po scripts
+SUBDIRS = gnulib/lib src qemud proxy include docs @PYTHON_SUBDIR@ \
+ tests/gnulib tests po scripts
-ACLOCAL_AMFLAGS = -I m4
+ACLOCAL_AMFLAGS = -I m4 -I gnulib/m4
EXTRA_DIST = libvirt.spec.in libvirt.spec COPYING.LIB \
libvirt.pc.in libvirt.pc TODO AUTHORS ChangeLog \
diff --git a/autogen.sh b/autogen.sh
index 97b636d..3bcffd3 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -57,7 +57,7 @@ fi
autopoint --force
#rm -rf m4
libtoolize --copy --force
-aclocal -I m4
+aclocal -I m4 -I gnulib/m4
autoheader
automake --add-missing
autoconf
diff --git a/bootstrap b/bootstrap
index b49378d..ca186bd 100755
--- a/bootstrap
+++ b/bootstrap
@@ -40,6 +40,12 @@ do
esac
done
+cleanup_gnulib() {
+ st=$?
+ rm -fr .gnulib
+ exit $st
+}
+
case ${GNULIB_SRCDIR--} in
-)
if [ ! -d gnulib ]; then
@@ -47,22 +53,23 @@ case ${GNULIB_SRCDIR--} in
trap cleanup_gnulib 1 2 13 15
- git clone --depth 1 git://git.sv.gnu.org/gnulib ||
+ git clone --depth 1 git://git.sv.gnu.org/gnulib .gnulib ||
cleanup_gnulib
trap - 1 2 13 15
fi
- GNULIB_SRCDIR=gnulib
+ GNULIB_SRCDIR=.gnulib
esac
gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
<$gnulib_tool || exit
# Tell gnulib to:
-# put tests in new gl-tests/ dir
-# put m4/*.m4 files in existing m4/ dir
-# lib/*.[ch] files in new lib/ dir.
-# With --avoid=snprintf, we pull in about 30 fewer files
+# put tests in new tests/gnulib/ dir
+# put *.m4 files in new gnulib/m4/ dir
+# put *.[ch] files in new gnulib/lib/ dir.
+# With --avoid=snprintf, we drop support for systems (many!) with
+# losing snprintf but pull in about 30 fewer files
# With the current gnulib and gettext-0.17, the following
# files are added to m4/ by both. But gnulib is stable enough
# and gettext-0.16.1 is new enough that they are identical.
@@ -82,9 +89,20 @@ gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
# --avoid=snprintf-tests
# --avoid=vasnprintf-tests
+avoid='--avoid=snprintf'
+
+avoid='
+ --avoid=snprintf-tests
+ --avoid=vasnprintf-tests
+'
+
$gnulib_tool \
--lgpl \
- --avoid=snprintf \
+ $avoid \
+ --avoid=snprintf-tests \
+ --avoid=vasnprintf-tests \
--with-tests \
- --tests-base=gl-tests \
+ --m4-base=gnulib/m4 \
+ --source-base=gnulib/lib \
+ --tests-base=tests/gnulib \
--import physmem getaddrinfo
diff --git a/configure.in b/configure.in
index 18a533f..2ab8411 100644
--- a/configure.in
+++ b/configure.in
@@ -566,7 +566,7 @@ cp COPYING.LIB COPYING
AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \
docs/examples/Makefile docs/devhelp/Makefile \
docs/examples/python/Makefile \
- lib/Makefile gl-tests/Makefile \
+ gnulib/lib/Makefile tests/gnulib/Makefile \
libvirt.pc libvirt.spec \
po/Makefile.in scripts/Makefile \
include/libvirt/Makefile include/libvirt/libvirt.h \
diff --git a/qemud/Makefile.am b/qemud/Makefile.am
index 267b43e..7e3b694 100644
--- a/qemud/Makefile.am
+++ b/qemud/Makefile.am
@@ -27,7 +27,7 @@ libvirtd_SOURCES = \
#-D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_POSIX_C_SOURCE=199506L
libvirtd_CFLAGS = \
- -I$(top_srcdir)/lib -I../lib \
+ -I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
-I$(top_srcdir)/include -I$(top_builddir)/include \
$(LIBXML_CFLAGS) $(GNUTLS_CFLAGS) \
$(WARN_CFLAGS) -DLOCAL_STATE_DIR="\"$(localstatedir)\"" \
@@ -38,7 +38,7 @@ libvirtd_CFLAGS = \
libvirtd_LDFLAGS = $(WARN_CFLAGS) $(LIBXML_LIBS) $(GNUTLS_LIBS)
libvirtd_DEPENDENCIES = ../src/libvirt.la
-libvirtd_LDADD = ../src/libvirt.la ../lib/libgnu.la
+libvirtd_LDADD = ../src/libvirt.la ../gnulib/lib/libgnu.la
if HAVE_AVAHI
libvirtd_SOURCES += mdns.c mdns.h
diff --git a/src/Makefile.am b/src/Makefile.am
index efea233..f9a2308 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in
INCLUDES = \
- -I$(top_srcdir)/lib -I../lib \
+ -I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
-I../include \
-I@top_srcdir@/include \
-I@top_srcdir@/qemud \
@@ -16,7 +16,7 @@ INCLUDES = \
$(WARN_CFLAGS) \
$(LIBVIRT_FEATURES)
DEPS = libvirt.la
-LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) libvirt.la ../lib/libgnu.la
+LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) libvirt.la ../gnulib/lib/libgnu.la
VIRSH_LIBS = @VIRSH_LIBS@
confdir = $(sysconfdir)/libvirt/
@@ -62,7 +62,7 @@ SERVER_SOURCES = \
libvirt_la_SOURCES = $(CLIENT_SOURCES) $(SERVER_SOURCES)
libvirt_la_LIBADD = $(LIBXML_LIBS) $(GNUTLS_LIBS) $(LTLIBOBJS) \
- @CYGWIN_EXTRA_LIBADD@ ../lib/libgnu.la
+ @CYGWIN_EXTRA_LIBADD@ ../gnulib/lib/libgnu.la
libvirt_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libvirt_sym.version \
-version-info @LIBVIRT_VERSION_INFO@ \
$(COVERAGE_CFLAGS:-f%=-Wc,-f%) \
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 4de0c45..8220e1b 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -11,7 +11,7 @@ SUBDIRS = virshdata confdata sexpr2xmldata xml2sexprdata xmconfigdata xencapsdat
LIBVIRT = $(wildcard $(top_builddir)/src/.libs/libvirt_la-*.o)
INCLUDES = \
- -I$(top_srcdir)/lib -I../lib \
+ -I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
-I$(top_builddir)/include \
-I$(top_builddir)/src \
-I$(top_srcdir)/include \
@@ -30,7 +30,7 @@ LDADDS = \
$(GNUTLS_LIBS) \
$(WARN_CFLAGS) \
$(LIBVIRT) \
- ../lib/libgnu.la \
+ ../gnulib/lib/libgnu.la \
$(COVERAGE_LDFLAGS)
EXTRA_DIST = \
--
1.5.3.6.950.g92b7b
1
0
05 Dec '07
Recently, I heard of two tricky portability problems in libvirt that
are easy to solve with gnulib. Of course, gnulib provides a lot more,
and is not exactly lightweight if you count "lines of code imported", but
once the framework (this patch) is installed, adding an additional module
is as easy as adding the module name to a list. Keep in mind that what
matters with a portability library is that it stay out of your way -- and
of course do its job well. To that end, gnulib has many per-module unit
tests. Since a large part of its job is portability, and insulating your
code from bugs (be they bugs in the very latest glibc printf functions, or
in the regexp library, or just protection against that crufty old SunOS4
free function that can't deal with NULL), it provides a mechanism to let
you conveniently include its self tests in your own package and run them
when users run "make check" for your project. This is pretty important,
so that if someone builds your package on an unusual or poorly-configured
system, often the gnulib tests will fail right away, and that will save
you the trouble of digging through your own package's code.
For those of you who don't know, gnulib is the GNU Portability Library.
http://www.gnu.org/software/gnulib/
and it is used in many widely-used packages:
http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=blob;f=users.txt;hb=HEAD
Of course, there's no guarantee that the code is bug-free,
but in practice, the few bugs being fixed these days involve
portability to relatively unusual systems. With so many widely-used
packages using gnulib, you can imagine that if there are bugs, they
will be encountered, reported, and fixed pretty quickly.
One of the biggest advantages of using gnulib is that you can add
new modules and get all the benefits with *no* additional tweaking.
I.e., you don't have to write .m4 macros, modify configure.ac or
any Makefile.am. It just works. If something doesn't, or if the
documentation is unclear, you can report it to bug-gnulib(a)gnu.org
and usually get a fix or an explanation pretty quickly.
----------
Enough of the hype.
The first portability problem was to determine the total physical memory
available on the current system. Currently the code works only on
Linux-like systems that have /proc/meminfo of an expected form. However,
the gnulib physmem module handles 13 distinct types of systems and is
well tested:
http://www.gnu.org/software/gnulib/MODULES.html#module=physmem
The second portability problem was to find a robust and LGPL-compatible
getaddrinfo function to be used on systems lacking it. Here's the
gnulib module:
http://www.gnu.org/software/gnulib/MODULES.html#module=getaddrinfo
Once the few gnulib hooks are in your configure.ac and Makefile.am
files, there is very little extra work required to use the new
functions. In the case of physmem, just use the function and
include "physmem.h". For getaddrinfo, merely include "getaddrinfo.h"
from the two files that use the function.
This change brings in a lot of code, but many of the lib/.[ch] files
are used only on systems that lack some required functionality. For
example, the getaddrinfo.c file isn't even compiled when it's not
needed.
In the patch below, I've included a new script called bootstrap.
It is a wrapper around gnulib-tool that pulls into libvirt the
files selected by the (currently two) modules in use. Those new
files go in three places:
m4/*.m4
lib/*.[ch] and a few template .h.in files
gl-tests/ for unit test C programs and Bourne shell scripts
However, note that gettextize and libtoolize (run by autogen.sh)
also deposit many *.m4 files in m4. I compared and found that 8
of the files that are already pulled in by the *ize programs are
also pulled in (potentially newer versions) from gnulib. But currently,
using gettext-0.16.1 or gettext-0.17, there is no difference in any
of the overlapping files.
Re Licenses: the two modules (and all of their dependent modules)
are LGPL-compatible. This is enforced by running gnulib-tool
with the --lgpl option. If you were to request a module with
an incompatible license (say GPL or LGPLv3), it would fail.
----------------------
Here's the patch that shows what existing parts of libvirt have to
be modified to use these two new modules. To try it out, just apply
the patch and then run this:
./autogen.sh && ./bootstrap && make && make check
Running bootstrap creates the new lib/ and gl-tests/ directories.
Personally, I prefer not to add generated files to version control
systems, because it can lead to problems with version skew if all
developers don't use the same releases of the tools that do the
generating. Perhaps more importantly, when there are massive diffs in
the generated files, that can obscure real changes in non-generated parts
of the code. That already happens to me whenever the .po files change.
But if people prefer to add all of these imported files to CVS, just
say the word and I'll prepare the patch. If so, do you guys want the
gettextize- and libtoolize-added files to be version-controlled, now, too?
Use gnulib, starting with physmem and getaddrinfo modules.
* bootstrap: A wrapper around gnulib-tool.
* configure.in: Invoke gl_EARLY and gl_INIT, being careful to put gl_EARLY
before any macro that uses AC_COMPILE_IFELSE.
(AC_OUTPUT): Add lib/Makefile and gl-tests/Makefile. Remove m4/Makefile.
* Makefile.am (SUBDIRS): Add lib and gl-tests. Remove m4.
* m4/Makefile.am: Remove file. Not needed.
* src/Makefile.am (INCLUDES): Add -I$(top_srcdir)/lib -I../lib.
(LDADDS, libvirt_la_LIBADD): Add ../lib/libgnu.la.
* src/nodeinfo.c: Include "physmem.h".
* qemud/qemud.c, src/remote_internal.c: Include "getaddrinfo.h".
(MEMINFO_PATH, linuxNodeInfoMemPopulate): Remove definitions.
(virNodeInfoPopulate): Use physmem_total, not linuxNodeInfoMemPopulate.
* tests/Makefile.am (INCLUDES): Add -I$(top_srcdir)/lib -I../lib.
(LDADDS): Add ../lib/libgnu.la.
* qemud/Makefile.am (libvirtd_LDADD): Add ../lib/libgnu.la.
* tests/nodeinfotest.c (linuxTestCompareFiles): No longer read total
memory from a file.
Update expected output not to include "Memory: NNNN"
* tests/nodeinfodata/linux-nodeinfo-1.txt:
* tests/nodeinfodata/linux-nodeinfo-2.txt:
* tests/nodeinfodata/linux-nodeinfo-3.txt:
* tests/nodeinfodata/linux-nodeinfo-4.txt:
* tests/nodeinfodata/linux-nodeinfo-5.txt:
* tests/nodeinfodata/linux-nodeinfo-6.txt:
* src/test.c [WITH_TEST]: Remove definition of _GNU_SOURCE that
would conflict with the one now in "config.h".
Signed-off-by: Jim Meyering <meyering(a)redhat.com>
---
Makefile.am | 3 +-
bootstrap | 90 +++++++++++++++++++++++++++++++
configure.in | 11 +++-
m4/Makefile.am | 3 -
qemud/Makefile.am | 3 +-
qemud/qemud.c | 1 +
src/Makefile.am | 8 ++-
src/nodeinfo.c | 55 +++----------------
src/remote_internal.c | 1 +
src/test.c | 2 -
tests/Makefile.am | 2 +
tests/nodeinfodata/linux-nodeinfo-1.txt | 2 +-
tests/nodeinfodata/linux-nodeinfo-2.txt | 2 +-
tests/nodeinfodata/linux-nodeinfo-3.txt | 2 +-
tests/nodeinfodata/linux-nodeinfo-4.txt | 2 +-
tests/nodeinfodata/linux-nodeinfo-5.txt | 2 +-
tests/nodeinfodata/linux-nodeinfo-6.txt | 2 +-
tests/nodeinfotest.c | 23 ++------
18 files changed, 131 insertions(+), 83 deletions(-)
create mode 100755 bootstrap
delete mode 100644 m4/Makefile.am
diff --git a/Makefile.am b/Makefile.am
index eaa204e..fcf0eb6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,7 @@
## Process this file with automake to produce Makefile.in
-SUBDIRS = src qemud proxy include docs @PYTHON_SUBDIR@ tests po m4 scripts
+SUBDIRS = lib src qemud proxy include docs @PYTHON_SUBDIR@ \
+ gl-tests tests po scripts
ACLOCAL_AMFLAGS = -I m4
diff --git a/bootstrap b/bootstrap
new file mode 100755
index 0000000..b49378d
--- /dev/null
+++ b/bootstrap
@@ -0,0 +1,90 @@
+#!/bin/sh
+# Run this after autogen.sh, to pull in all of the gnulib-related bits.
+# It's important to run *after* autogen.sh, since it updates some of
+# the same files autogen.sh does, yet those from gnulib are newer,
+# and match the tests. So if a gnulib bug has been fixed since the
+# snapshot taken for whatever gettext release you're using, yet you
+# run "make check" against the wrong version, the corresponding unit
+# test in gl-tests/ may well fail.
+
+usage() {
+ echo >&2 "\
+Usage: $0 [OPTION]...
+Bootstrap this package from the checked-out sources.
+
+Options:
+ --gnulib-srcdir=DIRNAME Specify the local directory where gnulib
+ sources reside. Use this if you already
+ have gnulib sources on your machine, and
+ do not want to waste your bandwidth downloading
+ them again.
+
+If the file bootstrap.conf exists in the current working directory, its
+contents are read as shell variables to configure the bootstrap.
+
+Running without arguments will suffice in most cases.
+"
+}
+
+for option
+do
+ case $option in
+ --help)
+ usage
+ exit;;
+ --gnulib-srcdir=*)
+ GNULIB_SRCDIR=`expr "$option" : '--gnulib-srcdir=\(.*\)'`;;
+ *)
+ echo >&2 "$0: $option: unknown option"
+ exit 1;;
+ esac
+done
+
+case ${GNULIB_SRCDIR--} in
+-)
+ if [ ! -d gnulib ]; then
+ echo "$0: getting gnulib files..."
+
+ trap cleanup_gnulib 1 2 13 15
+
+ git clone --depth 1 git://git.sv.gnu.org/gnulib ||
+ cleanup_gnulib
+
+ trap - 1 2 13 15
+ fi
+ GNULIB_SRCDIR=gnulib
+esac
+
+gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
+<$gnulib_tool || exit
+
+# Tell gnulib to:
+# put tests in new gl-tests/ dir
+# put m4/*.m4 files in existing m4/ dir
+# lib/*.[ch] files in new lib/ dir.
+# With --avoid=snprintf, we pull in about 30 fewer files
+# With the current gnulib and gettext-0.17, the following
+# files are added to m4/ by both. But gnulib is stable enough
+# and gettext-0.16.1 is new enough that they are identical.
+# compiler-flags.m4
+# inttypes_h.m4
+# longlong.m4
+# size_max.m4
+# stdint_h.m4
+# wchar_t.m4
+# wint_t.m4
+# xsize.m4
+
+# Note that if we don't exclude the snprintf module, there are two tests
+# that have incompatible licenses, so we would have to exclude them. Even
+# excluding those two test modules, find reports a total of 94 added files.
+# Yes, snprintf has some heavy-duty dependents.
+# --avoid=snprintf-tests
+# --avoid=vasnprintf-tests
+
+$gnulib_tool \
+ --lgpl \
+ --avoid=snprintf \
+ --with-tests \
+ --tests-base=gl-tests \
+ --import physmem getaddrinfo
diff --git a/configure.in b/configure.in
index a845720..18a533f 100644
--- a/configure.in
+++ b/configure.in
@@ -28,11 +28,15 @@ AVAHI_REQUIRED="0.6.0"
dnl Checks for C compiler.
AC_PROG_CC
-AM_PROG_CC_STDC
-AC_C_CONST
AC_PROG_INSTALL
AC_PROG_CPP
+gl_EARLY
+gl_INIT
+
+AM_PROG_CC_STDC
+AC_C_CONST
+
dnl Make sure we have an ANSI compiler
AM_C_PROTOTYPES
test "x$U" != "x" && AC_MSG_ERROR(Compiler not ANSI compliant)
@@ -562,11 +566,12 @@ cp COPYING.LIB COPYING
AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \
docs/examples/Makefile docs/devhelp/Makefile \
docs/examples/python/Makefile \
+ lib/Makefile gl-tests/Makefile \
libvirt.pc libvirt.spec \
po/Makefile.in scripts/Makefile \
include/libvirt/Makefile include/libvirt/libvirt.h \
python/Makefile python/tests/Makefile \
- qemud/Makefile m4/Makefile \
+ qemud/Makefile \
tests/Makefile proxy/Makefile \
tests/xml2sexprdata/Makefile \
tests/sexpr2xmldata/Makefile \
diff --git a/m4/Makefile.am b/m4/Makefile.am
deleted file mode 100644
index 188b2fe..0000000
--- a/m4/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-
-EXTRA_DIST = compiler-flags.m4
-
diff --git a/qemud/Makefile.am b/qemud/Makefile.am
index 1737176..267b43e 100644
--- a/qemud/Makefile.am
+++ b/qemud/Makefile.am
@@ -27,6 +27,7 @@ libvirtd_SOURCES = \
#-D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_POSIX_C_SOURCE=199506L
libvirtd_CFLAGS = \
+ -I$(top_srcdir)/lib -I../lib \
-I$(top_srcdir)/include -I$(top_builddir)/include \
$(LIBXML_CFLAGS) $(GNUTLS_CFLAGS) \
$(WARN_CFLAGS) -DLOCAL_STATE_DIR="\"$(localstatedir)\"" \
@@ -37,7 +38,7 @@ libvirtd_CFLAGS = \
libvirtd_LDFLAGS = $(WARN_CFLAGS) $(LIBXML_LIBS) $(GNUTLS_LIBS)
libvirtd_DEPENDENCIES = ../src/libvirt.la
-libvirtd_LDADD = ../src/libvirt.la
+libvirtd_LDADD = ../src/libvirt.la ../lib/libgnu.la
if HAVE_AVAHI
libvirtd_SOURCES += mdns.c mdns.h
diff --git a/qemud/qemud.c b/qemud/qemud.c
index f88ed42..caccd29 100644
--- a/qemud/qemud.c
+++ b/qemud/qemud.c
@@ -53,6 +53,7 @@
#include <libvirt/virterror.h>
#include "internal.h"
+#include "getaddrinfo.h"
#include "../src/internal.h"
#include "../src/remote_internal.h"
#include "../src/conf.h"
diff --git a/src/Makefile.am b/src/Makefile.am
index 52ffbaf..efea233 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,6 +1,8 @@
## Process this file with automake to produce Makefile.in
-INCLUDES = -I$(top_builddir)/include \
+INCLUDES = \
+ -I$(top_srcdir)/lib -I../lib \
+ -I../include \
-I@top_srcdir@/include \
-I@top_srcdir@/qemud \
$(LIBXML_CFLAGS) \
@@ -14,7 +16,7 @@ INCLUDES = -I$(top_builddir)/include \
$(WARN_CFLAGS) \
$(LIBVIRT_FEATURES)
DEPS = libvirt.la
-LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) libvirt.la
+LDADDS = @STATIC_BINARIES@ $(WARN_CFLAGS) libvirt.la ../lib/libgnu.la
VIRSH_LIBS = @VIRSH_LIBS@
confdir = $(sysconfdir)/libvirt/
@@ -60,7 +62,7 @@ SERVER_SOURCES = \
libvirt_la_SOURCES = $(CLIENT_SOURCES) $(SERVER_SOURCES)
libvirt_la_LIBADD = $(LIBXML_LIBS) $(GNUTLS_LIBS) $(LTLIBOBJS) \
- @CYGWIN_EXTRA_LIBADD@
+ @CYGWIN_EXTRA_LIBADD@ ../lib/libgnu.la
libvirt_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libvirt_sym.version \
-version-info @LIBVIRT_VERSION_INFO@ \
$(COVERAGE_CFLAGS:-f%=-Wc,-f%) \
diff --git a/src/nodeinfo.c b/src/nodeinfo.c
index a0a26eb..2ef49cb 100644
--- a/src/nodeinfo.c
+++ b/src/nodeinfo.c
@@ -29,14 +29,14 @@
#include <ctype.h>
#include "nodeinfo.h"
+#include "physmem.h"
#ifdef __linux__
-#define MEMINFO_PATH "/proc/meminfo"
#define CPUINFO_PATH "/proc/cpuinfo"
/* NB, these are not static as we need to call them from testsuite */
-int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo);
-int linuxNodeInfoMemPopulate(virConnectPtr conn, FILE *meminfo, virNodeInfoPtr nodeinfo);
+int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo,
+ virNodeInfoPtr nodeinfo);
int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo) {
char line[1024];
@@ -114,44 +114,11 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n
return 0;
}
-
-int linuxNodeInfoMemPopulate(virConnectPtr conn, FILE *meminfo,
- virNodeInfoPtr nodeinfo) {
- char line[1024];
-
- nodeinfo->memory = 0;
-
- while (fgets(line, sizeof(line), meminfo) != NULL) {
- if (STREQLEN(line, "MemTotal:", 9)) {
- char *p;
- unsigned int ui;
- if (xstrtol_ui(line + 10, &p, 10, &ui) == 0
- && (*p == '\0' || isspace(*p))) {
- nodeinfo->memory = ui;
- break;
- }
- }
- }
- if (!nodeinfo->memory) {
- __virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
- VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
- "no memory found");
- return -1;
- }
-
- return 0;
-}
-
-
#endif
int virNodeInfoPopulate(virConnectPtr conn,
virNodeInfoPtr nodeinfo) {
struct utsname info;
-#ifdef __linux__
- int ret;
- FILE *cpuinfo, *meminfo;
-#endif
if (uname(&info) < 0) {
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
@@ -164,7 +131,9 @@ int virNodeInfoPopulate(virConnectPtr conn,
nodeinfo->model[sizeof(nodeinfo->model)-1] = '\0';
#ifdef __linux__
- cpuinfo = fopen(CPUINFO_PATH, "r");
+ {
+ int ret;
+ FILE *cpuinfo = fopen(CPUINFO_PATH, "r");
if (!cpuinfo) {
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
@@ -176,17 +145,11 @@ int virNodeInfoPopulate(virConnectPtr conn,
if (ret < 0)
return -1;
- meminfo = fopen(MEMINFO_PATH, "r");
- if (!meminfo) {
- __virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
- VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
- "cannot open %s %s", MEMINFO_PATH, strerror(errno));
- return -1;
- }
- ret = linuxNodeInfoMemPopulate(conn, meminfo, nodeinfo);
- fclose(meminfo);
+ /* Convert to KB. */
+ nodeinfo->memory = physmem_total () / 1024;
return ret;
+ }
#else
/* XXX Solaris will need an impl later if they port QEMU driver */
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
diff --git a/src/remote_internal.c b/src/remote_internal.c
index a8227f3..275405a 100644
--- a/src/remote_internal.c
+++ b/src/remote_internal.c
@@ -52,6 +52,7 @@
#include "internal.h"
#include "driver.h"
+#include "getaddrinfo.h"
#include "remote_internal.h"
#include "remote_protocol.h"
diff --git a/src/test.c b/src/test.c
index 010ea15..bab280f 100644
--- a/src/test.c
+++ b/src/test.c
@@ -25,8 +25,6 @@
#ifdef WITH_TEST
-#define _GNU_SOURCE /* for asprintf */
-
#include <stdio.h>
#include <string.h>
#include <sys/time.h>
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 512162b..4de0c45 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -11,6 +11,7 @@ SUBDIRS = virshdata confdata sexpr2xmldata xml2sexprdata xmconfigdata xencapsdat
LIBVIRT = $(wildcard $(top_builddir)/src/.libs/libvirt_la-*.o)
INCLUDES = \
+ -I$(top_srcdir)/lib -I../lib \
-I$(top_builddir)/include \
-I$(top_builddir)/src \
-I$(top_srcdir)/include \
@@ -29,6 +30,7 @@ LDADDS = \
$(GNUTLS_LIBS) \
$(WARN_CFLAGS) \
$(LIBVIRT) \
+ ../lib/libgnu.la \
$(COVERAGE_LDFLAGS)
EXTRA_DIST = \
diff --git a/tests/nodeinfodata/linux-nodeinfo-1.txt b/tests/nodeinfodata/linux-nodeinfo-1.txt
index 1a38ad1..e52e20a 100644
--- a/tests/nodeinfodata/linux-nodeinfo-1.txt
+++ b/tests/nodeinfodata/linux-nodeinfo-1.txt
@@ -1 +1 @@
-CPUs: 2, MHz: 2800, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1, Memory: 2053960
+CPUs: 2, MHz: 2800, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1
diff --git a/tests/nodeinfodata/linux-nodeinfo-2.txt b/tests/nodeinfodata/linux-nodeinfo-2.txt
index 1c31a0c..12e819b 100644
--- a/tests/nodeinfodata/linux-nodeinfo-2.txt
+++ b/tests/nodeinfodata/linux-nodeinfo-2.txt
@@ -1 +1 @@
-CPUs: 2, MHz: 2211, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1, Memory: 4059540
+CPUs: 2, MHz: 2211, Nodes: 1, Sockets: 1, Cores: 2, Threads: 1
diff --git a/tests/nodeinfodata/linux-nodeinfo-3.txt b/tests/nodeinfodata/linux-nodeinfo-3.txt
index e2cc841..d285781 100644
--- a/tests/nodeinfodata/linux-nodeinfo-3.txt
+++ b/tests/nodeinfodata/linux-nodeinfo-3.txt
@@ -1 +1 @@
-CPUs: 4, MHz: 1595, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1, Memory: 4059272
+CPUs: 4, MHz: 1595, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1
diff --git a/tests/nodeinfodata/linux-nodeinfo-4.txt b/tests/nodeinfodata/linux-nodeinfo-4.txt
index 2c75ea3..991d4f9 100644
--- a/tests/nodeinfodata/linux-nodeinfo-4.txt
+++ b/tests/nodeinfodata/linux-nodeinfo-4.txt
@@ -1 +1 @@
-CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 1, Cores: 4, Threads: 1, Memory: 4059272
+CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 1, Cores: 4, Threads: 1
diff --git a/tests/nodeinfodata/linux-nodeinfo-5.txt b/tests/nodeinfodata/linux-nodeinfo-5.txt
index 01fee52..dce7ada 100644
--- a/tests/nodeinfodata/linux-nodeinfo-5.txt
+++ b/tests/nodeinfodata/linux-nodeinfo-5.txt
@@ -1 +1 @@
-CPUs: 4, MHz: 2814, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1, Memory: 4059272
+CPUs: 4, MHz: 2814, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1
diff --git a/tests/nodeinfodata/linux-nodeinfo-6.txt b/tests/nodeinfodata/linux-nodeinfo-6.txt
index a7a2cfe..75cdaa9 100644
--- a/tests/nodeinfodata/linux-nodeinfo-6.txt
+++ b/tests/nodeinfodata/linux-nodeinfo-6.txt
@@ -1 +1 @@
-CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1, Memory: 4059272
+CPUs: 4, MHz: 1000, Nodes: 1, Sockets: 2, Cores: 2, Threads: 1
diff --git a/tests/nodeinfotest.c b/tests/nodeinfotest.c
index 7275cc3..fb563b5 100644
--- a/tests/nodeinfotest.c
+++ b/tests/nodeinfotest.c
@@ -21,14 +21,13 @@ static char *abs_top_srcdir;
#ifdef __linux__
extern int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr nodeinfo);
-extern int linuxNodeInfoMemPopulate(virConnectPtr conn, FILE *meminfo, virNodeInfoPtr nodeinfo);
-static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofile, const char *outputfile) {
+static int linuxTestCompareFiles(const char *cpuinfofile, const char *outputfile) {
char actualData[MAX_FILE];
char expectData[MAX_FILE];
char *expect = &expectData[0];
virNodeInfo nodeinfo;
- FILE *cpuinfo, *meminfo;
+ FILE *cpuinfo;
if (virtTestLoadFile(outputfile, &expect, MAX_FILE) < 0)
return -1;
@@ -42,19 +41,10 @@ static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofil
}
fclose(cpuinfo);
- meminfo = fopen(meminfofile, "r");
- if (!meminfo)
- return -1;
- if (linuxNodeInfoMemPopulate(NULL, meminfo, &nodeinfo) < 0) {
- fclose(meminfo);
- return -1;
- }
- fclose(meminfo);
-
snprintf(actualData, MAX_FILE,
- "CPUs: %u, MHz: %u, Nodes: %u, Sockets: %u, Cores: %u, Threads: %u, Memory: %lu\n",
+ "CPUs: %u, MHz: %u, Nodes: %u, Sockets: %u, Cores: %u, Threads: %u\n",
nodeinfo.cpus, nodeinfo.mhz, nodeinfo.nodes, nodeinfo.sockets,
- nodeinfo.cores, nodeinfo.threads, nodeinfo.memory);
+ nodeinfo.cores, nodeinfo.threads);
if (STRNEQ(actualData, expectData)) {
if (getenv("DEBUG_TESTS")) {
@@ -70,15 +60,12 @@ static int linuxTestCompareFiles(const char *cpuinfofile, const char *meminfofil
static int linuxTestNodeInfo(const void *data) {
char cpuinfo[PATH_MAX];
- char meminfo[PATH_MAX];
char output[PATH_MAX];
snprintf(cpuinfo, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.cpuinfo",
abs_top_srcdir, (const char*)data);
- snprintf(meminfo, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.meminfo",
- abs_top_srcdir, (const char*)data);
snprintf(output, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.txt",
abs_top_srcdir, (const char*)data);
- return linuxTestCompareFiles(cpuinfo, meminfo, output);
+ return linuxTestCompareFiles(cpuinfo, output);
}
#endif
--
1.5.3.6.950.g92b7b
4
11