[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: ocaml build error

I wrote:
> On Debian lenny I run "make -j4 xen tools" and I get the message
> below.
> I'm going to disable my ocaml build for now, but this needs to be
> fixed if for no other reason than that I'm working on a huge patch
> which makes a non-compatible interface change to libxc, and which will
> break the ocaml build completely if I can't include the adjustements
> to it in my patch submission.

In fact on a closer inspection this turns out to be a parallel make
error.  The author of the Makefile hadn't realised that if you mention
multiple things as a dependency, make may process them in any order.

The patch below fixes this.  However, the ocam build is still broken:

In file included from xc_lib.c:30:
xc.h:19:21: error: xen/xen.h: No such file or directory
xc.h:20:24: error: xen/memory.h: No such file or directory
xc.h:21:24: error: xen/sysctl.h: No such file or directory
xc.h:22:24: error: xen/domctl.h: No such file or directory
xc.h:23:23: error: xen/sched.h: No such file or directory
xc.h:26:31: error: xen/linux/privcmd.h: No such file or directory
xc.h:30:25: error: xen/version.h: No such file or directory
xc.h:31:32: error: xen/foreign/x86_32.h: No such file or directory
xc.h:32:32: error: xen/foreign/x86_64.h: No such file or directory
xc.h:33:28: error: xen/hvm/params.h: No such file or directory
In file included from xc.h:34,
                 from xc_lib.c:30:
xc_e820.h:4:26: error: xen/hvm/e820.h: No such file or directory


Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>

diff --git a/tools/ocaml/Makefile b/tools/ocaml/Makefile
index 73c2988..ecd54b7 100644
--- a/tools/ocaml/Makefile
+++ b/tools/ocaml/Makefile
 .PHONY: all
 all: build
-.PHONY: build $(SUBDIRS)
-build: $(SUBDIRS)
+build: SUBDIRS
-       @echo " === building $@"
-       @$(MAKE) --no-print-directory -C $@
+       @set -e; for d in $($@); do                     \
+               echo " === building $$d";               \
+               $(MAKE) --no-print-directory -C $$d;    \
+       done
 .PHONY: install install-libs install-program
 install: install-libs install-program
-install-program: $(SUBDIRS_PROGRAMS)
+install-program: SUBDIRS_PROGRAMS
        $(INSTALL_PROG) xenstored/oxenstored $(DESTDIR)$(SBINDIR)
-install-libs: $(SUBDIRS_LIBS)
+install-libs: SUBDIRS_LIBS
 .PHONY: clean

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.