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. Ian. make[3]: Entering directory `/u/iwj/work/2/xen-unstable.git/tools/ocaml'' === building libs/uuid === building libs/mmap === building libs/log === building libs/xc MLDEP MLDEP MLDEP MLI mmap.cmi MLDEP CC mmap_stubs.o MLOPT mmap.cmx MLC mmap.cmo MKLIB libmmap_stubs.a MLA mmap.cma MLI log.cmi MLI xc.cmi MLI uuid.cmi File "xc.mli", line 79, characters 66-75: Unbound type constructor Uuid.t make[4]: *** [xc.cmi] Error 2 make[3]: *** [libs/xc] Error 2 make[3]: *** Waiting for unfinished jobs.... MLA mmap.cmxa MLC uuid.cmo MLI syslog.cmi CC syslog_stubs.o MLOPT uuid.cmx MLA uuid.cma syslog_stubs.c:28: warning: ''__syslog_options_table'' defined but not used MLI logs.cmi MLC syslog.cmo MLC log.cmo MLC logs.cmo MKLIB libsyslog_stubs.a MLA uuid.cmxa MLOPT syslog.cmx MLA log.cma MLOPT log.cmx MLOPT logs.cmx MLA log.cmxa make[3]: Leaving directory `/u/iwj/work/2/xen-unstable.git/tools/ocaml'' make[2]: *** [subdir-install-ocaml] Error 2 make[2]: Leaving directory `/u/iwj/work/2/xen-unstable.git/tools'' make[1]: *** [subdirs-install] Error 2 make[1]: Leaving directory `/u/iwj/work/2/xen-unstable.git/tools'' make: *** [install-tools] Error 2 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
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 etc. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> diff --git a/tools/ocaml/Makefile b/tools/ocaml/Makefile index 73c2988..ecd54b7 100644 --- a/tools/ocaml/Makefile +++ b/tools/ocaml/Makefile @@ -13,21 +13,23 @@ SUBDIRS = $(SUBDIRS_LIBS) $(SUBDIRS_PROGRAMS) .PHONY: all all: build -.PHONY: build $(SUBDIRS) -build: $(SUBDIRS) +.PHONY: build SUBDIRS +build: SUBDIRS -$(SUBDIRS): - @echo " === building $@" - @$(MAKE) --no-print-directory -C $@ +SUBDIRS SUBDIRS_PROGRAMS SUBDIRS_LIBS: + @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_DIR) $(DESTDIR)$(SBINDIR) $(INSTALL_PROG) xenstored/oxenstored $(DESTDIR)$(SBINDIR) -install-libs: $(SUBDIRS_LIBS) +install-libs: SUBDIRS_LIBS .PHONY: clean clean: _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 06/05/2010 16:38, "Ian Jackson" <Ian.Jackson@eu.citrix.com> 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.Wow, you have ocaml toolchain installed? :-) K.> Ian. > > make[3]: Entering directory `/u/iwj/work/2/xen-unstable.git/tools/ocaml'' > === building libs/uuid > === building libs/mmap > === building libs/log > === building libs/xc > MLDEP > MLDEP > MLDEP > MLI mmap.cmi > MLDEP > CC mmap_stubs.o > MLOPT mmap.cmx > MLC mmap.cmo > MKLIB libmmap_stubs.a > MLA mmap.cma > MLI log.cmi > MLI xc.cmi > MLI uuid.cmi > File "xc.mli", line 79, characters 66-75: > Unbound type constructor Uuid.t > make[4]: *** [xc.cmi] Error 2 > make[3]: *** [libs/xc] Error 2 > make[3]: *** Waiting for unfinished jobs.... > MLA mmap.cmxa > MLC uuid.cmo > MLI syslog.cmi > CC syslog_stubs.o > MLOPT uuid.cmx > MLA uuid.cma > syslog_stubs.c:28: warning: ''__syslog_options_table'' defined but not used > MLI logs.cmi > MLC syslog.cmo > MLC log.cmo > MLC logs.cmo > MKLIB libsyslog_stubs.a > MLA uuid.cmxa > MLOPT syslog.cmx > MLA log.cma > MLOPT log.cmx > MLOPT logs.cmx > MLA log.cmxa > make[3]: Leaving directory `/u/iwj/work/2/xen-unstable.git/tools/ocaml'' > make[2]: *** [subdir-install-ocaml] Error 2 > make[2]: Leaving directory `/u/iwj/work/2/xen-unstable.git/tools'' > make[1]: *** [subdirs-install] Error 2 > make[1]: Leaving directory `/u/iwj/work/2/xen-unstable.git/tools'' > make: *** [install-tools] Error 2 > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser writes ("Re: [Xen-devel] ocaml build error"):> On 06/05/2010 16:38, "Ian Jackson" <Ian.Jackson@eu.citrix.com> wrote: > > 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. > > Wow, you have ocaml toolchain installed? :-)Apparently so :-). Tempting to remove it, but I''ll wait to see if the ocaml tool build can be fixed, first ... Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 06/05/2010 17:05, "Ian Jackson" <Ian.Jackson@eu.citrix.com> wrote:> Keir Fraser writes ("Re: [Xen-devel] ocaml build error"): >> On 06/05/2010 16:38, "Ian Jackson" <Ian.Jackson@eu.citrix.com> wrote: >>> 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. >> >> Wow, you have ocaml toolchain installed? :-) > > Apparently so :-). Tempting to remove it, but I''ll wait to see if > the ocaml tool build can be fixed, first ...If the build doesn''t get fixed then the corrcet thing to do will be to disable build of the ocaml components by default. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 06/05/10 17:13, Keir Fraser wrote:> If the build doesn''t get fixed then the corrcet thing to do will be to > disable build of the ocaml components by default.It''s stale build instructions that happens to still work for me since i''ve got some env set for all my old repos. the following patch fix it. Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com> -- Vincent _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 05/06/2010 02:36 PM, Vincent Hanquez wrote:> On 06/05/10 17:13, Keir Fraser wrote: >> If the build doesn''t get fixed then the corrcet thing to do will be to >> disable build of the ocaml components by default. > > It''s stale build instructions that happens to still work for me since > i''ve got some env set for all my old repos. the following patch fix it. > > Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>It looks like Fedora 12 packages ocaml oddly, and its headers are under /usr/lib64/ocaml/, so I had to add: diff -r faf9bd66bf45 tools/ocaml/common.make --- a/tools/ocaml/common.make Thu May 06 17:44:03 2010 -0700 +++ b/tools/ocaml/common.make Thu May 06 17:54:35 2010 -0700 @@ -8,7 +8,7 @@ CFLAGS ?= -Wall -fPIC -O2 -CFLAGS += -I$(TOPLEVEL)/../include -I$(TOPLEVEL)/../libxc +CFLAGS += -I$(TOPLEVEL)/../include -I$(TOPLEVEL)/../libxc -I/usr/lib64/ocaml -I/usr/lib/ocaml OCAMLOPTFLAG_G := $(shell $(OCAMLOPT) -h 2>&1 | sed -n ''s/^ *\(-g\) .*/\1/p'') OCAMLOPTFLAGS = $(OCAMLOPTFLAG_G) -ccopt "$(LDFLAGS)" -dtypes $(OCAMLINCLUDE) -cc $(CC) -w F -warn-error F But even then it fails later on with: === building xenstored MLI symbol.cmi make[4]: *** No rule to make target `trie.cmi'', needed by `all''. Stop. make[3]: *** [xenstored] Error 2 make[3]: Leaving directory `/home/jeremy/hg/xen/unstable/tools/ocaml'' make[2]: *** [subdir-install-ocaml] Error 2 make[2]: Leaving directory `/home/jeremy/hg/xen/unstable/tools'' make[1]: *** [subdirs-install] Error 2 make[1]: Leaving directory `/home/jeremy/hg/xen/unstable/tools'' make: *** [install-tools] Error 2 Forgot to add file? J _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 07/05/10 01:56, Jeremy Fitzhardinge wrote:> It looks like Fedora 12 packages ocaml oddly, and its headers are under > /usr/lib64/ocaml/, so I had to add:The patch is correct; it''s again my specific build environment (debian+tweaks) that happens to play tricks.> diff -r faf9bd66bf45 tools/ocaml/common.make > --- a/tools/ocaml/common.make Thu May 06 17:44:03 2010 -0700 > +++ b/tools/ocaml/common.make Thu May 06 17:54:35 2010 -0700 > @@ -8,7 +8,7 @@ > > CFLAGS ?= -Wall -fPIC -O2 > > -CFLAGS += -I$(TOPLEVEL)/../include -I$(TOPLEVEL)/../libxc > +CFLAGS += -I$(TOPLEVEL)/../include -I$(TOPLEVEL)/../libxc -I/usr/lib64/ocaml -I/usr/lib/ocaml > > OCAMLOPTFLAG_G := $(shell $(OCAMLOPT) -h 2>&1 | sed -n ''s/^ *\(-g\) .*/\1/p'') > OCAMLOPTFLAGS = $(OCAMLOPTFLAG_G) -ccopt "$(LDFLAGS)" -dtypes $(OCAMLINCLUDE) -cc $(CC) -w F -warn-error F > > > But even then it fails later on with: > > === building xenstored > MLI symbol.cmi > make[4]: *** No rule to make target `trie.cmi'', needed by `all''. Stop. > make[3]: *** [xenstored] Error 2 > make[3]: Leaving directory `/home/jeremy/hg/xen/unstable/tools/ocaml'' > make[2]: *** [subdir-install-ocaml] Error 2 > make[2]: Leaving directory `/home/jeremy/hg/xen/unstable/tools'' > make[1]: *** [subdirs-install] Error 2 > make[1]: Leaving directory `/home/jeremy/hg/xen/unstable/tools'' > make: *** [install-tools] Error 2 > > > Forgot to add file?gah yes; 3 files were missing. they got lost when i remove the stdext dependencies and move only the necessary files in to reduce the patchset size. adding another patch for Keir. -- Vincent _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Vincent Hanquez writes ("Re: [Xen-devel] ocaml build error"):> adding another patch for Keir.Even with that, I get this. Ian. cc1: warnings being treated as errors xc_lib.c: In function ''xc_domain_set_memmap_limit'': xc_lib.c:659: error: dereferencing type-punned pointer will break strict-aliasing rules xc_lib.c: In function ''xc_domain_memory_increase_reservation'': xc_lib.c:709: error: dereferencing type-punned pointer will break strict-aliasing rules xc_lib.c: In function ''xc_domain_memory_decrease_reservation'': xc_lib.c:735: error: dereferencing type-punned pointer will break strict-aliasing rules xc_lib.c: In function ''xc_domain_memory_populate_physmap'': xc_lib.c:765: error: dereferencing type-punned pointer will break strict-aliasing rules xc_lib.c: In function ''xc_domain_get_pfn_list'': xc_lib.c:1217: error: assignment from incompatible pointer type make[4]: *** [xc_lib.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [SUBDIRS_LIBS] Error 2 make[3]: Leaving directory `/u/iwj/work/1/xen-unstable.hg/tools/ocaml'' make[2]: *** [subdir-install-ocaml] Error 2 make[2]: Leaving directory `/u/iwj/work/1/xen-unstable.hg/tools'' make[1]: *** [subdirs-install] Error 2 make[1]: Leaving directory `/u/iwj/work/1/xen-unstable.hg/tools'' make: *** [install-tools] Error 2 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 07/05/2010 18:11, "Ian Jackson" <Ian.Jackson@eu.citrix.com> wrote:> Vincent Hanquez writes ("Re: [Xen-devel] ocaml build error"): >> adding another patch for Keir. > > Even with that, I get this. > > Ian. > > cc1: warnings being treated as errors > xc_lib.c: In function ''xc_domain_set_memmap_limit'': > xc_lib.c:659: error: dereferencing type-punned pointer will break > strict-aliasing rulesNo reason for tools/ocaml to override the provided base CFLAGS. This should be fixed by xen-unstable:21329, which implicitly adds -fno-strict-aliasing to CFLAGS. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Hi! With c/s 21446, I get this build error: === building libs/mmap MLOPT trie.cmx MLDEP MLI mmap.cmi MLC mmap.cmo MLOPT config.cmx MLA mmap.cma CC mmap_stubs.o MKLIB libmmap_stubs.a MLOPT mmap.cmx MLOPT logging.cmx MLA mmap.cmxa File "logging.ml", line 20, characters 16-26: Error: Unbound value Logs.error gmake[4]: *** [logging.cmx] Error 2 gmake[3]: *** [SUBDIRS_PROGRAMS] Error 2 gmake[3]: *** Waiting for unfinished jobs.... Christoph -- ---to satisfy European Law for business letters: Advanced Micro Devices GmbH Einsteinring 24, 85609 Dornach b. Muenchen Geschaeftsfuehrer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Looks like maybe you''re still getting a parallel build despite recent ocaml Makefile fixes, including .NOTPARALLEL target added to Makefile.rules? There are no logging.* files under ocaml/libs/mmap after all. Anyway I expect you do not want the OCAML tools and you can disable it easily enough from your build with OCAML_TOOLS=n in your environment. K. On 25/05/2010 10:25, "Christoph Egger" <Christoph.Egger@amd.com> wrote:> > Hi! > > With c/s 21446, I get this build error: > > === building libs/mmap > MLOPT trie.cmx > MLDEP > MLI mmap.cmi > MLC mmap.cmo > MLOPT config.cmx > MLA mmap.cma > CC mmap_stubs.o > MKLIB libmmap_stubs.a > MLOPT mmap.cmx > MLOPT logging.cmx > MLA mmap.cmxa > File "logging.ml", line 20, characters 16-26: > Error: Unbound value Logs.error > gmake[4]: *** [logging.cmx] Error 2 > gmake[3]: *** [SUBDIRS_PROGRAMS] Error 2 > gmake[3]: *** Waiting for unfinished jobs.... > > Christoph >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel