* [PATCH] libxl: add missing dependencies of libxl.h
@ 2012-09-07 9:25 Olaf Hering
0 siblings, 0 replies; 5+ messages in thread
From: Olaf Hering @ 2012-09-07 9:25 UTC (permalink / raw)
To: xen-devel
# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1347009935 -7200
# Node ID da03cd98d2fbc6c3a176f34b17cb6184a518525e
# Parent ec23c2a11f6fa55bd0472377a7324d67cdf86248
libxl: add missing dependencies of libxl.h
libxl.h includes generated files, but the Makefile lists no dependency
on these files. As a result compilation may fail like this:
[ 379s] make -C libxl install
[ 379s] make[3]: Entering directory `/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl'
[ 379s] /usr/bin/perl
/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include/xen-external/bsd-sys-queue-h-seddery
/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include/xen-external/bsd-sys-queue.h
--prefix=libxl >_libxl_list.h.new
...
[ 380s] gcc -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
-std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
-D__XEN_TOOLS__ -MMD -MF ._libxl.api-for-check.d -D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -fmessage-length=0 -O2
-Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables
-fasynchronous-unwind-tables -Werror -Wno-format-zero-length
-Wmissing-declarations -Wno-declaration-after-statement
-Wformat-nonliteral -I. -fPIC -pthread
-I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxc
-I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include
-I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxl
-I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxc
-I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include
-I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include
-include
/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/config.h
-I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxc
-I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include
-c -E libxl.h \
[ 380s] -DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \
[ 380s] >_libxl.api-for-check.new
...
[ 380s] libxl.h:260:25: fatal error: _libxl_list.h: No such file or directory
[ 380s] compilation terminated.
[ 380s] make[3]: *** [_libxl.api-for-check] Error 1
[ 381s] if ! cmp -s _libxl_list.h.new _libxl_list.h; then mv -f
_libxl_list.h.new _libxl_list.h; else rm -f _libxl_list.h.new; fi
Fix this be extending the existing libxl.h dependency with the generated
file _libxl_list.h.
Signed-off-by: Olaf Hering <olaf@aepfle.de>
diff -r ec23c2a11f6f -r da03cd98d2fb tools/libxl/Makefile
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -140,7 +140,7 @@ _libxl_save_msgs_helper.h _libxl_save_ms
$(PERL) -w $< $@ >$@.new
$(call move-if-changed,$@.new,$@)
-libxl.h: _libxl_types.h
+libxl.h: _libxl_types.h _libxl_list.h
libxl_json.h: _libxl_types_json.h
libxl_internal.h: _libxl_types_internal.h _paths.h
libxl_internal_json.h: _libxl_types_internal_json.h
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] libxl: add missing dependencies of libxl.h
@ 2012-09-06 17:14 Olaf Hering
2012-09-07 8:41 ` Ian Campbell
0 siblings, 1 reply; 5+ messages in thread
From: Olaf Hering @ 2012-09-06 17:14 UTC (permalink / raw)
To: xen-devel
# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1346951410 -7200
# Node ID cc71fe7029b27cb95d268b99e136c445903af927
# Parent 8a2eef481d3ab3ca5692dd0083c95cf314fe1da3
libxl: add missing dependencies of libxl.h
libxl.h includes generated files, but the Makefile lists no dependency on
these files. As a result compilation may fail like this:
[ 379s] make -C libxl install
[ 379s] make[3]: Entering directory `/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl'
[ 379s] /usr/bin/perl /usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include/xen-external/bsd-sys-queue-h-seddery /usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include/xen-external/bsd-sys-queue.h --prefix=libxl >_libxl_list.h.new
...
[ 380s] gcc -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF ._libxl.api-for-check.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -Werror -Wno-format-zero-length -Wmissing-declarations -Wno-declaration-after-statement -Wformat-nonliteral -I. -fPIC -pthread -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxc -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxl -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../.
./tools/libxc -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include -include /usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/config.h -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxc -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include -c -E libxl.h \
[ 380s] -DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \
[ 380s] >_libxl.api-for-check.new
...
[ 380s] libxl.h:260:25: fatal error: _libxl_list.h: No such file or directory
[ 380s] compilation terminated.
[ 380s] make[3]: *** [_libxl.api-for-check] Error 1
[ 381s] if ! cmp -s _libxl_list.h.new _libxl_list.h; then mv -f _libxl_list.h.new _libxl_list.h; else rm -f _libxl_list.h.new; fi
Fix this be extending the existing libxl.h dependency with the generated file
_libxl_list.h, and also with the existing libxl_event.h.
Signed-off-by: Olaf Hering <olaf@aepfle.de>
diff -r 8a2eef481d3a -r cc71fe7029b2 tools/libxl/Makefile
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -140,7 +140,7 @@ _libxl_save_msgs_helper.h _libxl_save_ms
$(PERL) -w $< $@ >$@.new
$(call move-if-changed,$@.new,$@)
-libxl.h: _libxl_types.h
+libxl.h: _libxl_types.h _libxl_list.h libxl_event.h
libxl_json.h: _libxl_types_json.h
libxl_internal.h: _libxl_types_internal.h _paths.h
libxl_internal_json.h: _libxl_types_internal_json.h
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] libxl: add missing dependencies of libxl.h
2012-09-06 17:14 Olaf Hering
@ 2012-09-07 8:41 ` Ian Campbell
2012-09-07 10:33 ` Ian Jackson
0 siblings, 1 reply; 5+ messages in thread
From: Ian Campbell @ 2012-09-07 8:41 UTC (permalink / raw)
To: Olaf Hering, Ian Jackson; +Cc: xen-devel@lists.xen.org
On Thu, 2012-09-06 at 18:14 +0100, Olaf Hering wrote:
> # HG changeset patch
> # User Olaf Hering <olaf@aepfle.de>
> # Date 1346951410 -7200
> # Node ID cc71fe7029b27cb95d268b99e136c445903af927
> # Parent 8a2eef481d3ab3ca5692dd0083c95cf314fe1da3
> libxl: add missing dependencies of libxl.h
>
> libxl.h includes generated files, but the Makefile lists no dependency on
> these files. As a result compilation may fail like this:
>
> [ 379s] make -C libxl install
> [ 379s] make[3]: Entering directory `/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl'
> [ 379s] /usr/bin/perl /usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include/xen-external/bsd-sys-queue-h-seddery /usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include/xen-external/bsd-sys-queue.h --prefix=libxl >_libxl_list.h.new
> ...
> [ 380s] gcc -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF ._libxl.api-for-check.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -Werror -Wno-format-zero-length -Wmissing-declarations -Wno-declaration-after-statement -Wformat-nonliteral -I. -fPIC -pthread -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxc -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxl -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/..
/../tools/libxc -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include -include /usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/config.h -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxc -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include -c -E libxl.h \
> [ 380s] -DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \
> [ 380s] >_libxl.api-for-check.new
> ...
> [ 380s] libxl.h:260:25: fatal error: _libxl_list.h: No such file or directory
> [ 380s] compilation terminated.
> [ 380s] make[3]: *** [_libxl.api-for-check] Error 1
> [ 381s] if ! cmp -s _libxl_list.h.new _libxl_list.h; then mv -f _libxl_list.h.new _libxl_list.h; else rm -f _libxl_list.h.new; fi
>
>
> Fix this be extending the existing libxl.h dependency with the generated file
> _libxl_list.h, and also with the existing libxl_event.h.
>
> Signed-off-by: Olaf Hering <olaf@aepfle.de>
>
> diff -r 8a2eef481d3a -r cc71fe7029b2 tools/libxl/Makefile
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -140,7 +140,7 @@ _libxl_save_msgs_helper.h _libxl_save_ms
> $(PERL) -w $< $@ >$@.new
> $(call move-if-changed,$@.new,$@)
>
> -libxl.h: _libxl_types.h
> +libxl.h: _libxl_types.h _libxl_list.h libxl_event.h
You don't need libxl_event.h here (it's not autogenerated).
I'm not sure if $(AUTOINCS) should be used here. Ian J probably has an
opinion.
> libxl_json.h: _libxl_types_json.h
> libxl_internal.h: _libxl_types_internal.h _paths.h
> libxl_internal_json.h: _libxl_types_internal_json.h
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] libxl: add missing dependencies of libxl.h
2012-09-07 8:41 ` Ian Campbell
@ 2012-09-07 10:33 ` Ian Jackson
2012-09-07 13:28 ` Olaf Hering
0 siblings, 1 reply; 5+ messages in thread
From: Ian Jackson @ 2012-09-07 10:33 UTC (permalink / raw)
To: Olaf Hering; +Cc: Ian Campbell, xen-devel@lists.xen.org
Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: add missing dependencies of libxl.h"):
> On Thu, 2012-09-06 at 18:14 +0100, Olaf Hering wrote:
> > libxl: add missing dependencies of libxl.h
This is not correct. A dependency in the sense of make is a thing
which is used to construct the target file, not a thing which the
target file's contents refers to.
The correct fix is, I think, this:
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index a9d9ec6..f48e304 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -119,7 +119,7 @@ libxl.api-ok: check-libxl-api-rules _libxl.api-for-check
$(PERL) $^
touch $@
-_%.api-for-check: %.h
+_%.api-for-check: %.h $(filter-out %.api-ok, $(AUTOINCS))
$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -E $< $(APPEND_CFLAGS) \
-DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \
>$@.new
Can you confirm that this fixes it for you ?
Ian.
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] libxl: add missing dependencies of libxl.h
2012-09-07 10:33 ` Ian Jackson
@ 2012-09-07 13:28 ` Olaf Hering
0 siblings, 0 replies; 5+ messages in thread
From: Olaf Hering @ 2012-09-07 13:28 UTC (permalink / raw)
To: Ian Jackson; +Cc: Ian Campbell, xen-devel@lists.xen.org
On Fri, Sep 07, Ian Jackson wrote:
> -_%.api-for-check: %.h
> +_%.api-for-check: %.h $(filter-out %.api-ok, $(AUTOINCS))
> $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -E $< $(APPEND_CFLAGS) \
> -DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \
> >$@.new
>
> Can you confirm that this fixes it for you ?
The package builds fine with this change.
The failure if fixes happend only once.
Olaf
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-09-07 13:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-07 9:25 [PATCH] libxl: add missing dependencies of libxl.h Olaf Hering
-- strict thread matches above, loose matches on Subject: below --
2012-09-06 17:14 Olaf Hering
2012-09-07 8:41 ` Ian Campbell
2012-09-07 10:33 ` Ian Jackson
2012-09-07 13:28 ` Olaf Hering
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).