On Sunday 16 February 2014 22:32:52 Richard W.M. Jones wrote:
BTW, although there is nothing wrong with this patch, it doesn't
seem
to completely resolve the problem. It looks like there could be
another missing dependency.
When I did:
make distclean && ./configure && make -j5
the build failed as below (not always reproducible). As you can see
'index-parse.h' is "updating" some time after it is used.
[...]
make[2]: Entering directory `/home/rjones/d/libguestfs/builder'
YACC index-parse.c
LEX index-scan.c
CC virt_index_validate-index-struct.o
CC virt_index_validate-index-validate.o
CC index-struct.o
ocamlfind ocamlc -g -warn-error CDEFLMPSUVYZX -package str,unix -I
../src/.libs -I ../ocaml -I ../mllib -package gettext-stub -c
pxzcat.mli -o pxzcat.cmi CC pxzcat-c.o
CC setlocale-c.o
ocamlfind ocamlc -g -warn-error CDEFLMPSUVYZX -package str,unix -I
../src/.libs -I ../ocaml -I ../mllib -package gettext-stub -c
setlocale.mli -o setlocale.cmi index-validate.c:34:25: fatal error:
index-parse.h: No such file or directory #include "index-parse.h"
^
compilation terminated.
[...]
make[2]: *** [virt_index_validate-index-validate.o] Error 1
make[2]: *** Waiting for unfinished jobs....
I see.
While I don't have a deep knowledge of it, my guess would be the way
automake 1.14 handles outputs for different targets in the same build
directory. As you can see, it prefixes them by the target name, so our
custom rules won't apply basically.
Curiously, I hit that last weekend when rebuilding on my Debian testing
(which has automake 1.14, unlike my current F19 which has 1.13), but
didn't have the occasion to debug it yet.
--
Pino Toscano