On Wed, Jan 23, 2008 at 01:21:29PM +0000, Richard W.M. Jones wrote:
I got a little bit further with this, my current patch is attached.
At the moment, it gets as far as building libvirt & virsh, but fails to
build the Python bindings. However virsh doesn't run, apparently
because of a simple dynamic linking problem because of where the
libraries are (not yet) installed. I'm afraid that my understanding of
how to build and install applications on Mac OS X ends around here. In
particular I have no idea how to get the detailed abort trace that
Andrew showed up in his previous email.
maybe some parts of it should be checked in purely as cleanup/portability
enhancement, see comment below
dnl Availability of various common headers (non-fatal if missing).
AC_CHECK_HEADERS([pwd.h paths.h sys/syslimits.h sys/utsname.h sys/wait.h winsock2.h])
-dnl Need -lrpc or -lxdr? (Cygwin and MinGW resp. need this)
-AC_SEARCH_LIBS(xdrmem_create,[rpc xdr])
+dnl Where are the XDR functions?
+dnl If portablexdr is installed, prefer that.
+dnl Otherwise try -lrpc (Cygwin) -lxdr (some MinGW) or none (most Unix)
+AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
+ AC_SEARCH_LIBS([xdrmem_create],[rpc xdr])
+ ])
Should be fine I think
dnl Do we have rpcgen?
AC_PATH_PROG(RPCGEN, rpcgen, no)
@@ -621,8 +625,8 @@
[enableval=no])
if test "${enableval}" = yes; then
- gl_COMPILER_FLAGS(-fprofile-arcs)
- gl_COMPILER_FLAGS(-ftest-coverage)
+ dnl gl_COMPILER_FLAGS(-fprofile-arcs)
+ dnl gl_COMPILER_FLAGS(-ftest-coverage)
We really shouldn't assume such recent features of gcc, I understand
it's useful from for coverage reports, but it really can't get in the
way for normal compilations, maybe this need to be refined a bit so that
we can keep it. I would have assumed that if --enable-test-coverage wasn't
explicitely asked for, then those bits would not need to be disabled, right ?
AC_SUBST([COVERAGE_CFLAGS], [$COMPILER_FLAGS])
AC_SUBST([COVERAGE_LDFLAGS], [$COMPILER_FLAGS])
COMPILER_FLAGS=
Index: qemud/internal.h
===================================================================
RCS file: /data/cvs/libvirt/qemud/internal.h,v
retrieving revision 1.41
diff -u -r1.41 internal.h
--- qemud/internal.h 5 Dec 2007 18:21:27 -0000 1.41
+++ qemud/internal.h 23 Jan 2008 13:21:42 -0000
@@ -25,6 +25,10 @@
#ifndef QEMUD_INTERNAL_H__
#define QEMUD_INTERNAL_H__
+#include <config.h>
+
+#include "../src/socketcompat.h"
+
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
#include "../src/gnutls_1_0_compat.h"
@@ -43,7 +47,6 @@
#include <rpc/types.h>
#include <rpc/xdr.h>
#include "remote_protocol.h"
-#include "../config.h"
Looks like a good change
#ifdef __GNUC__
#ifdef HAVE_ANSIDECL_H
Index: qemud/qemud.c
===================================================================
RCS file: /data/cvs/libvirt/qemud/qemud.c,v
retrieving revision 1.76
diff -u -r1.76 qemud.c
--- qemud/qemud.c 11 Dec 2007 21:57:29 -0000 1.76
+++ qemud/qemud.c 23 Jan 2008 13:21:43 -0000
@@ -47,6 +47,7 @@
#include <assert.h>
#include <fnmatch.h>
#include <grp.h>
+#include <signal.h>
#include "libvirt/virterror.h"
looks safe too
===================================================================
RCS file: /data/cvs/libvirt/src/Makefile.am,v
retrieving revision 1.62
diff -u -r1.62 Makefile.am
--- src/Makefile.am 5 Jan 2008 16:06:36 -0000 1.62
+++ src/Makefile.am 23 Jan 2008 13:21:44 -0000
@@ -66,7 +66,7 @@
libvirt_la_SOURCES = $(CLIENT_SOURCES) $(SERVER_SOURCES)
libvirt_la_LIBADD = $(LIBXML_LIBS) $(GNUTLS_LIBS) $(SASL_LIBS) \
@CYGWIN_EXTRA_LIBADD@ ../gnulib/lib/libgnu.la
-libvirt_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libvirt_sym.version \
+libvirt_la_LDFLAGS = \
-version-info @LIBVIRT_VERSION_INFO@ \
$(COVERAGE_CFLAGS:-f%=-Wc,-f%) \
@CYGWIN_EXTRA_LDFLAGS@ @MINGW_EXTRA_LDFLAGS@
Hum, we really rely on libvirt_sym.version to define the exported list,
someone may be able to help on how to do this on OS X, but as is we can't
apply it seems.
Index: src/sexpr.c
===================================================================
RCS file: /data/cvs/libvirt/src/sexpr.c,v
retrieving revision 1.12
diff -u -r1.12 sexpr.c
--- src/sexpr.c 21 Jan 2008 14:22:15 -0000 1.12
+++ src/sexpr.c 23 Jan 2008 13:21:44 -0000
@@ -13,7 +13,7 @@
#include "config.h"
#include <stdio.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
portability++
Index: src/socketcompat.h
===================================================================
RCS file: /data/cvs/libvirt/src/socketcompat.h,v
retrieving revision 1.1
diff -u -r1.1 socketcompat.h
--- src/socketcompat.h 5 Jan 2008 16:06:36 -0000 1.1
+++ src/socketcompat.h 23 Jan 2008 13:21:44 -0000
@@ -28,6 +28,7 @@
#ifndef HAVE_WINSOCK2_H /* Unix & Cygwin. */
#include <sys/socket.h>
+#include <sys/un.h>
#include <net/if.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
we already include sys/un.h in xend_internal.c and proxy_internal.c
so this can't break anything, looks safe.
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/