[Libguestfs] Observations on compiling on Mac OS X 10.5 (Leopard)

Simson Garfinkel simsong at acm.org
Sun Mar 21 17:20:12 UTC 2010


Hi, Richard.

libtoolize is distributed, but it is distributed by Apple as glibtoolize. Go figure.

In general, Apple is much more of a FreeBSD system than a Linux system. So the work here will help elsewhere.

I use MacPorts to install a newer autoconf --- it gives me 2.64 in /opt/local/bin/autoconf.  

Please let me know if I can help you on this.



On Mar 21, 2010, at 10:12 AM, Richard W.M. Jones wrote:

> I started with:
> - Mac OS X 10.5.8
> - Xcode installed
> - OCaml from GODI
> - qemu from git
> 
> autoconf is really ancient (2.61).  It doesn't have AM_SILENT_RULES
> and although we tried to make things work when autoconf lacks this by
> having:
> 
>  m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])])
>  AM_SILENT_RULES([yes]) # make --enable-silent-rules the default.
> 
> this nevertheless doesn't work.  I had to comment out these two lines
> in both configure.ac and daemon/configure.ac.
> 
> There is no libtoolize.  I had to manually link build-aux/ltmain.sh ->
> /usr/share/libtool/ltmain.sh
> 
> There is no autopoint.  I think this is the reason I had to manually
> remove references to the po/ subdirectory.
> 
> There is no mkisofs.  I commented out the test for this in
> configure.ac, but eventually I'll have to find out if this is
> available for Mac OS X because it is relatively important (used by
> libguestfs-test-tool amongst other things).
> 
> There is no qemu, but I was able to compile and use qemu from git.
> There is an additional problem which is that 'qemu --help' opens (very
> briefly) a toplevel window.  We run 'qemu --help' and 'qemu --version'
> at configure time and at run time in order to determine qemu features
> and version, so we'll need to add the '-nographic' option [patch
> coming up].
> 
> I have added --disable-daemon and --disable-appliance options to
> 'configure' [patch coming up].
> 
> No pkgconfig, therefore no PKG_CHECK_MODULES.  I commented out these
> two tests temporarily.
> 
> The shell which runs configure is not bash, and so it doesn't
> understand the 'echo -n' flag that we use in the configure script.
> For example:
> 
>  echo -n "OCaml bindings ...................... "
>  if test "x$HAVE_OCAML_TRUE" = "x"; then echo "yes"; else echo "no"; fi
> 
> produces the output:
> 
>  -n OCaml bindings ...................... 
>  yes
> 
> I was able to get all the way through
> ./configure --disable-appliance --disable-daemon
> with the following results:
> 
>  Daemon .............................. no
>  Appliance ........................... no
>  QEMU ................................ /Users/rich/bin/qemu
>  OCaml bindings ...................... yes
>  Perl bindings ....................... no
>  Python bindings ..................... no
>  Ruby bindings ....................... yes
>  Java bindings ....................... no
>  Haskell bindings .................... no
>  virt-inspector ...................... no
>  virt-* tools ........................ no
>  supermin appliance .................. no
>  FUSE filesystem ..................... no
> 
> GODI has a strange layout for OCaml packages; a small OS X-specific
> hack was required to src/generator.ml to cope with this.
> 
> OS X version of XDR doesn't support 64 bit / hyper type.  Known
> problem and PortableXDR should be able to supply a replacement.  I
> copied src/guestfs_protocol.[ch] from a Fedora machine temporarily,
> but the complete solution is to use PortableXDR.
> 
> There's a few other portability problems in the code which I have
> fixed [patches coming up].
> 
> Rich.
> 
> -- 
> Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
> virt-top is 'top' for virtual machines.  Tiny program with many
> powerful monitoring features, net stats, disk stats, logging, etc.
> http://et.redhat.com/~rjones/virt-top
> 
> _______________________________________________
> Libguestfs mailing list
> Libguestfs at redhat.com
> https://www.redhat.com/mailman/listinfo/libguestfs





More information about the Libguestfs mailing list