xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tools/vtpm: fix version.h error during parallel build
@ 2012-07-12  7:51 Olaf Hering
  2012-07-12 15:07 ` Olaf Hering
  0 siblings, 1 reply; 7+ messages in thread
From: Olaf Hering @ 2012-07-12  7:51 UTC (permalink / raw)
  To: xen-devel

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1342079491 -7200
# Node ID 02ec826cab1e4acb25b364a180a1597ace1149f9
# Parent  42f76d536b116d2ebad1b6705ae51ecd171d2581
tools/vtpm: fix version.h error during parallel build

Generating the tpm_version.h is not make -j safe:

In file included from ../tpm/tpm_emulator.h:25:0,
                 from ../tpm/tpm_startup.c:18:
../tpm/tpm_version.h:1:0: error: unterminated #ifndef
make[5]: *** [tpm_startup.o] Error 1

Add another patch which adds proper dependencies in the tpm_manager Makefile.

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 42f76d536b11 -r 02ec826cab1e tools/vtpm/Makefile
--- a/tools/vtpm/Makefile
+++ b/tools/vtpm/Makefile
@@ -51,7 +51,8 @@ mrproper:
 
 	set -e; cd $(VTPM_DIR); \
 	patch -p1 < ../vtpm-0.5.1.patch; \
-	patch -p1 < ../vtpm-0.5.1-LDLIBS.patch
+	patch -p1 < ../vtpm-0.5.1-LDLIBS.patch; \
+	patch -p1 < ../vtpm-0.5.1-version.h.patch
 
 orig: $(TPM_EMULATOR_TARFILE)
 	mkdir $(ORIG_DIR);
diff -r 42f76d536b11 -r 02ec826cab1e tools/vtpm/vtpm-0.5.1-version.h.patch
--- /dev/null
+++ b/tools/vtpm/vtpm-0.5.1-version.h.patch
@@ -0,0 +1,45 @@
+
+make[4]: Entering directory `/usr/src/packages/BUILD/xen-4.2.25602/non-dbg/tools/vtpm/vtpm'
+Making all in tpmd
+make[5]: Entering directory `/usr/src/packages/BUILD/xen-4.2.25602/non-dbg/tools/vtpm/vtpm/tpmd'
+gcc -Wall -Wno-unused -Wpointer-arith -Wcast-align -Wwrite-strings -Wsign-compare -Wno-multichar -g -I.. -I. -O2 -fno-strict-aliasing -I../../../../tools/vtpm_manager/manager   -c -o tpm_data.o ../tpm/tpm_data.c
+gcc -Wall -Wno-unused -Wpointer-arith -Wcast-align -Wwrite-strings -Wsign-compare -Wno-multichar -g -I.. -I. -O2 -fno-strict-aliasing -I../../../../tools/vtpm_manager/manager   -c -o tpm_startup.o ../tpm/tpm_startup.c
+gcc -Wall -Wno-unused -Wpointer-arith -Wcast-align -Wwrite-strings -Wsign-compare -Wno-multichar -g -I.. -I. -O2 -fno-strict-aliasing -I../../../../tools/vtpm_manager/manager   -c -o tpm_storage.o ../tpm/tpm_storage.c
+In file included from ../tpm/tpm_emulator.h:25:0,
+                 from ../tpm/tpm_startup.c:18:
+../tpm/tpm_version.h:1:0: error: unterminated #ifndef
+gcc -Wall -Wno-unused -Wpointer-arith -Wcast-align -Wwrite-strings -Wsign-compare -Wno-multichar -g -I.. -I. -O2 -fno-strict-aliasing -I../../../../tools/vtpm_manager/manager   -c -o tpm_credentials.o ../tpm/tpm_credentials.c
+make[5]: *** [tpm_startup.o] Error 1
+
+---
+ Makefile |   17 ++++++++++-------
+ 1 file changed, 10 insertions(+), 7 deletions(-)
+
+Index: tpm_emulator-0.5.1/Makefile
+===================================================================
+--- tpm_emulator-0.5.1.orig/Makefile
++++ tpm_emulator-0.5.1/Makefile
+@@ -14,13 +14,16 @@ SUBDIRS := tpmd
+ 
+ all: version all-recursive
+ 
+-version:
+-	@echo "#ifndef _TPM_VERSION_H_" > tpm/tpm_version.h
+-	@echo "#define _TPM_VERSION_H_" >> tpm/tpm_version.h
+-	@echo "#define VERSION_MAJOR $(VERSION_MAJOR)" >> tpm/tpm_version.h
+-	@echo "#define VERSION_MINOR $(VERSION_MINOR)" >> tpm/tpm_version.h
+-	@echo "#define VERSION_BUILD $(VERSION_BUILD)" >> tpm/tpm_version.h
+-	@echo "#endif /* _TPM_VERSION_H_ */" >> tpm/tpm_version.h
++tpm/tpm_version.h:
++	@echo "#ifndef _TPM_VERSION_H_" > tpm/tpm_version.h.tmp
++	@echo "#define _TPM_VERSION_H_" >> tpm/tpm_version.h.tmp
++	@echo "#define VERSION_MAJOR $(VERSION_MAJOR)" >> tpm/tpm_version.h.tmp
++	@echo "#define VERSION_MINOR $(VERSION_MINOR)" >> tpm/tpm_version.h.tmp
++	@echo "#define VERSION_BUILD $(VERSION_BUILD)" >> tpm/tpm_version.h.tmp
++	@echo "#endif /* _TPM_VERSION_H_ */" >> tpm/tpm_version.h.tmp
++	mv -f tpm/tpm_version.h.tmp tpm/tpm_version.h
++
++version: tpm/tpm_version.h
+ 
+ clean: clean-recursive
+ 	rm -f tpm/tpm_version.h

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] tools/vtpm: fix version.h error during parallel build
  2012-07-12  7:51 Olaf Hering
@ 2012-07-12 15:07 ` Olaf Hering
  0 siblings, 0 replies; 7+ messages in thread
From: Olaf Hering @ 2012-07-12 15:07 UTC (permalink / raw)
  To: xen-devel

On Thu, Jul 12, Olaf Hering wrote:

> ++++ tpm_emulator-0.5.1/Makefile
> +@@ -14,13 +14,16 @@ SUBDIRS := tpmd
> + 
> + all: version all-recursive

The actual bug is that version and all-recursive will run in parallel.
To fix this all-recursive needs to depend on version.

I will send a fixed version of that patch.

Olaf

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] tools/vtpm: fix version.h error during parallel build
@ 2012-07-12 15:08 Olaf Hering
  2012-07-23 16:54 ` Ian Jackson
  0 siblings, 1 reply; 7+ messages in thread
From: Olaf Hering @ 2012-07-12 15:08 UTC (permalink / raw)
  To: xen-devel

# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1342105705 -7200
# Node ID 51506c407f3ef3e238a4154c7f72ac61093e0bce
# Parent  42f76d536b116d2ebad1b6705ae51ecd171d2581
tools/vtpm: fix version.h error during parallel build

Generating the tpm_version.h is not make -j safe:

In file included from ../tpm/tpm_emulator.h:25:0,
                 from ../tpm/tpm_startup.c:18:
../tpm/tpm_version.h:1:0: error: unterminated #ifndef
make[5]: *** [tpm_startup.o] Error 1

Add another patch which adds proper dependencies in the tpm_manager Makefile.
(all-recursive needs to depend on version)

Signed-off-by: Olaf Hering <olaf@aepfle.de>

diff -r 42f76d536b11 -r 51506c407f3e tools/vtpm/Makefile
--- a/tools/vtpm/Makefile
+++ b/tools/vtpm/Makefile
@@ -51,7 +51,8 @@ mrproper:
 
 	set -e; cd $(VTPM_DIR); \
 	patch -p1 < ../vtpm-0.5.1.patch; \
-	patch -p1 < ../vtpm-0.5.1-LDLIBS.patch
+	patch -p1 < ../vtpm-0.5.1-LDLIBS.patch; \
+	patch -p1 < ../vtpm-0.5.1-version.h.patch
 
 orig: $(TPM_EMULATOR_TARFILE)
 	mkdir $(ORIG_DIR);
diff -r 42f76d536b11 -r 51506c407f3e tools/vtpm/vtpm-0.5.1-version.h.patch
--- /dev/null
+++ b/tools/vtpm/vtpm-0.5.1-version.h.patch
@@ -0,0 +1,53 @@
+
+make[4]: Entering directory `/usr/src/packages/BUILD/xen-4.2.25602/non-dbg/tools/vtpm/vtpm'
+Making all in tpmd
+make[5]: Entering directory `/usr/src/packages/BUILD/xen-4.2.25602/non-dbg/tools/vtpm/vtpm/tpmd'
+gcc -Wall -Wno-unused -Wpointer-arith -Wcast-align -Wwrite-strings -Wsign-compare -Wno-multichar -g -I.. -I. -O2 -fno-strict-aliasing -I../../../../tools/vtpm_manager/manager   -c -o tpm_data.o ../tpm/tpm_data.c
+gcc -Wall -Wno-unused -Wpointer-arith -Wcast-align -Wwrite-strings -Wsign-compare -Wno-multichar -g -I.. -I. -O2 -fno-strict-aliasing -I../../../../tools/vtpm_manager/manager   -c -o tpm_startup.o ../tpm/tpm_startup.c
+gcc -Wall -Wno-unused -Wpointer-arith -Wcast-align -Wwrite-strings -Wsign-compare -Wno-multichar -g -I.. -I. -O2 -fno-strict-aliasing -I../../../../tools/vtpm_manager/manager   -c -o tpm_storage.o ../tpm/tpm_storage.c
+In file included from ../tpm/tpm_emulator.h:25:0,
+                 from ../tpm/tpm_startup.c:18:
+../tpm/tpm_version.h:1:0: error: unterminated #ifndef
+gcc -Wall -Wno-unused -Wpointer-arith -Wcast-align -Wwrite-strings -Wsign-compare -Wno-multichar -g -I.. -I. -O2 -fno-strict-aliasing -I../../../../tools/vtpm_manager/manager   -c -o tpm_credentials.o ../tpm/tpm_credentials.c
+make[5]: *** [tpm_startup.o] Error 1
+
+---
+ Makefile |   19 +++++++++++--------
+ 1 file changed, 11 insertions(+), 8 deletions(-)
+
+Index: tpm_emulator-0.5.1/Makefile
+===================================================================
+--- tpm_emulator-0.5.1.orig/Makefile
++++ tpm_emulator-0.5.1/Makefile
+@@ -14,20 +14,23 @@ SUBDIRS := tpmd
+ 
+ all: version all-recursive
+ 
+-version:
+-	@echo "#ifndef _TPM_VERSION_H_" > tpm/tpm_version.h
+-	@echo "#define _TPM_VERSION_H_" >> tpm/tpm_version.h
+-	@echo "#define VERSION_MAJOR $(VERSION_MAJOR)" >> tpm/tpm_version.h
+-	@echo "#define VERSION_MINOR $(VERSION_MINOR)" >> tpm/tpm_version.h
+-	@echo "#define VERSION_BUILD $(VERSION_BUILD)" >> tpm/tpm_version.h
+-	@echo "#endif /* _TPM_VERSION_H_ */" >> tpm/tpm_version.h
++tpm/tpm_version.h:
++	@echo "#ifndef _TPM_VERSION_H_" > tpm/tpm_version.h.tmp
++	@echo "#define _TPM_VERSION_H_" >> tpm/tpm_version.h.tmp
++	@echo "#define VERSION_MAJOR $(VERSION_MAJOR)" >> tpm/tpm_version.h.tmp
++	@echo "#define VERSION_MINOR $(VERSION_MINOR)" >> tpm/tpm_version.h.tmp
++	@echo "#define VERSION_BUILD $(VERSION_BUILD)" >> tpm/tpm_version.h.tmp
++	@echo "#endif /* _TPM_VERSION_H_ */" >> tpm/tpm_version.h.tmp
++	mv -f tpm/tpm_version.h.tmp tpm/tpm_version.h
++
++version: tpm/tpm_version.h
+ 
+ clean: clean-recursive
+ 	rm -f tpm/tpm_version.h
+ 
+ install: install-recursive
+ 
+-all-recursive clean-recursive install-recursive:
++all-recursive clean-recursive install-recursive: version
+ 	@target=`echo $@ | sed s/-recursive//`; \
+ 	for subdir in $(SUBDIRS); do \
+ 		echo "Making $$target in $$subdir"; \

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] tools/vtpm: fix version.h error during parallel build
  2012-07-12 15:08 [PATCH] tools/vtpm: fix version.h error during parallel build Olaf Hering
@ 2012-07-23 16:54 ` Ian Jackson
  2012-07-23 17:12   ` Olaf Hering
  0 siblings, 1 reply; 7+ messages in thread
From: Ian Jackson @ 2012-07-23 16:54 UTC (permalink / raw)
  To: Olaf Hering; +Cc: xen-devel

Olaf Hering writes ("[Xen-devel] [PATCH] tools/vtpm: fix version.h error during parallel build"):
> tools/vtpm: fix version.h error during parallel build
> 
> Generating the tpm_version.h is not make -j safe:

Thanks for tracking this down.  However, wouldn't it be possible to
fix this entirely in our Makefile, somehow ?  The patch to the
upstream Makefile risks getting conflicts in the future with changes
to the upstream code.

Thanks,
Ian.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] tools/vtpm: fix version.h error during parallel build
  2012-07-23 16:54 ` Ian Jackson
@ 2012-07-23 17:12   ` Olaf Hering
  2012-07-23 17:14     ` Ian Jackson
  0 siblings, 1 reply; 7+ messages in thread
From: Olaf Hering @ 2012-07-23 17:12 UTC (permalink / raw)
  To: Ian Jackson; +Cc: xen-devel

On Mon, Jul 23, Ian Jackson wrote:

> Olaf Hering writes ("[Xen-devel] [PATCH] tools/vtpm: fix version.h error during parallel build"):
> > tools/vtpm: fix version.h error during parallel build
> > 
> > Generating the tpm_version.h is not make -j safe:
> 
> Thanks for tracking this down.  However, wouldn't it be possible to
> fix this entirely in our Makefile, somehow ?  The patch to the
> upstream Makefile risks getting conflicts in the future with changes
> to the upstream code.

The build_sub rule in tools/vtpm/Makefile could be changed to 
$(MAKE) -C $(VTPM_DIR) version && $(MAKE) -C $(VTPM_DIR) all-recursive; \

And the install rule in that Makefile perhaps to 
$(MAKE) -C $(VTPM_DIR) install-recursive

I will see how that works, the failure happens rarely.

Olaf

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] tools/vtpm: fix version.h error during parallel build
  2012-07-23 17:12   ` Olaf Hering
@ 2012-07-23 17:14     ` Ian Jackson
  2012-07-31  8:19       ` Olaf Hering
  0 siblings, 1 reply; 7+ messages in thread
From: Ian Jackson @ 2012-07-23 17:14 UTC (permalink / raw)
  To: Olaf Hering; +Cc: xen-devel@lists.xen.org

Olaf Hering writes ("Re: [Xen-devel] [PATCH] tools/vtpm: fix version.h error during parallel build"):
> On Mon, Jul 23, Ian Jackson wrote:
> 
> > Olaf Hering writes ("[Xen-devel] [PATCH] tools/vtpm: fix version.h error during parallel build"):
> > > tools/vtpm: fix version.h error during parallel build
> > > 
> > > Generating the tpm_version.h is not make -j safe:
> > 
> > Thanks for tracking this down.  However, wouldn't it be possible to
> > fix this entirely in our Makefile, somehow ?  The patch to the
> > upstream Makefile risks getting conflicts in the future with changes
> > to the upstream code.
> 
> The build_sub rule in tools/vtpm/Makefile could be changed to 
> $(MAKE) -C $(VTPM_DIR) version && $(MAKE) -C $(VTPM_DIR) all-recursive; \
> 
> And the install rule in that Makefile perhaps to 
> $(MAKE) -C $(VTPM_DIR) install-recursive

Right, something like that.

> I will see how that works, the failure happens rarely.

I find that adding sleeps can help repro these kind of problems.

Ian.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] tools/vtpm: fix version.h error during parallel build
  2012-07-23 17:14     ` Ian Jackson
@ 2012-07-31  8:19       ` Olaf Hering
  0 siblings, 0 replies; 7+ messages in thread
From: Olaf Hering @ 2012-07-31  8:19 UTC (permalink / raw)
  To: Ian Jackson; +Cc: xen-devel@lists.xen.org

On Mon, Jul 23, Ian Jackson wrote:

> Olaf Hering writes ("Re: [Xen-devel] [PATCH] tools/vtpm: fix version.h error during parallel build"):
> > The build_sub rule in tools/vtpm/Makefile could be changed to 
> > $(MAKE) -C $(VTPM_DIR) version && $(MAKE) -C $(VTPM_DIR) all-recursive; \
> > 
> > And the install rule in that Makefile perhaps to 
> > $(MAKE) -C $(VTPM_DIR) install-recursive
> 
> Right, something like that.

I just sent a new patch which does that.

Olaf

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-07-31  8:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-12 15:08 [PATCH] tools/vtpm: fix version.h error during parallel build Olaf Hering
2012-07-23 16:54 ` Ian Jackson
2012-07-23 17:12   ` Olaf Hering
2012-07-23 17:14     ` Ian Jackson
2012-07-31  8:19       ` Olaf Hering
  -- strict thread matches above, loose matches on Subject: below --
2012-07-12  7:51 Olaf Hering
2012-07-12 15:07 ` 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).