Number: 1111
Title: "make" in ".tclpkg/gv" might fail, if invoked using -jN (N >1)
Submitter: Axel Dyks
Date: Sat Apr 7 18:07:48 2007
Subsys: Build/Installation
Version: 2.12
System: x86-Unix-gentoo linux latest stable
Severity: minor
Problem:
See

http://bugs.gentoo.org/show_bug.cgi?id=173676

for further details.

The "multiple-target rules" used in the Makefile might not (always) work. On my dual-core cpu "make -j3" fails in 1 out of 10 cases.

I've attached a patch instead of a .dot file.
Fix:


diff -ru graphviz-2.12.orig/tclpkg/gv/Makefile.am graphviz-2.12/tclpkg/gv/Makefile.am
--- graphviz-2.12.orig/tclpkg/gv/Makefile.am	2006-09-12 19:34:43.000000000 +0200
+++ graphviz-2.12/tclpkg/gv/Makefile.am	2007-04-07 23:18:32.000000000 +0200
@@ -20,7 +20,8 @@
 libgv_sharp_la_SOURCES = $(BASESOURCES)
 libgv_sharp_la_LIBADD = $(BASELIBS) @SHARP_LIBS@
 libgv_sharp_la_LDFLAGS =
-gv_sharp.cpp $(SHARP_hdr): gv.i
+$(SHARP_hdr): gv_sharp.cpp
+gv_sharp.cpp: gv.i
 	$(SWIG) -c++ -csharp -namespace gv -o gv_sharp.cpp $(srcdir)/gv.i

pkgguiledir = $(pkglibdir)/guile @@ -29,7 +30,8 @@ libgv_guile_la_SOURCES = $(BASESOURCES) libgv_guile_la_LIBADD = $(BASELIBS) @GUILE_LIBS@ libgv_guile_la_LDFLAGS = -gv_guile.cpp $(GUILE_hdr): gv.i +$(GUILE_hdr): gv_guile.cpp +gv_guile.cpp: gv.i $(SWIG) -c++ -guile -o gv_guile.cpp $(srcdir)/gv.i $(SED) -e 's/SWIG_GUILE_INIT_STATIC void/void/' <gv_guile.cpp >t mv -f t gv_guile.cpp @@ -49,7 +51,8 @@ libgv_java_la_SOURCES = $(BASESOURCES) libgv_java_la_LIBADD = $(BASELIBS) @JAVA_LIBS@ libgv_java_la_LDFLAGS = -gv_java.cpp $(JAVA_hdr): gv.i +$(JAVA_hdr): gv_java.cpp +gv_java.cpp: gv.i $(SWIG) -c++ -java -o gv_java.cpp $(srcdir)/gv.i

pkgluadir = $(pkglibdir)/lua @@ -67,7 +70,8 @@ libgv_ocaml_la_SOURCES = $(BASESOURCES) libgv_ocaml_la_LIBADD = $(BASELIBS) @OCAML_LIBS@ libgv_ocaml_la_LDFLAGS = -gv_ocaml.cpp $(OCAML_hdr): gv.i +$(OCAML_hdr): gv_ocaml.cpp +gv_ocaml.cpp: gv.i $(SWIG) -c++ -ocaml -o gv_ocaml.cpp $(srcdir)/gv.i

pkgperldir = $(pkglibdir)/perl @@ -76,7 +80,8 @@ libgv_perl_la_SOURCES = $(BASESOURCES) libgv_perl_la_LIBADD = $(BASELIBS) @PERL_LIBS@ libgv_perl_la_LDFLAGS = -gv_perl.cpp $(PERL_hdr): gv.i +$(PERL_hdr): gv_perl.cpp +gv_perl.cpp: gv.i $(SWIG) -c++ -perl -o gv_perl.cpp $(srcdir)/gv.i

pkgphpdir = $(pkglibdir)/php @@ -85,7 +90,8 @@ libgv_php_la_SOURCES = $(BASESOURCES) libgv_php_la_LIBADD = $(BASELIBS) @PHP_LIBS@ libgv_php_la_LDFLAGS = -gv_php.cpp $(PHP_hdr): gv.i +$(PHP_hdr): gv_php.cpp +gv_php.cpp: gv.i $(SWIG) -c++ -php -o gv_php.cpp $(srcdir)/gv.i

pkgpythondir = $(pkglibdir)/python @@ -94,7 +100,8 @@ libgv_python_la_SOURCES = $(BASESOURCES) libgv_python_la_LIBADD = $(BASELIBS) @PYTHON_LIBS@ libgv_python_la_LDFLAGS = -gv_python.cpp $(PYTHON_hdr): gv.i +$(PYTHON_hdr): gv_python.cpp +gv_python.cpp: gv.i $(SWIG) -c++ -python -o gv_python.cpp $(srcdir)/gv.i

pkgrubydir = $(pkglibdir)/ruby @@ -103,7 +110,8 @@ libgv_ruby_la_SOURCES = $(BASESOURCES) libgv_ruby_la_LIBADD = $(BASELIBS) @RUBY_LIBS@ libgv_ruby_la_LDFLAGS = -gv_ruby.cpp $(RUBY_hdr): gv.i +$(RUBY_hdr): gv_ruby.cpp +gv_ruby.cpp: gv.i $(SWIG) -c++ -ruby -o gv_ruby.cpp $(srcdir)/gv.i

pkgtcldir = $(pkglibdir)/tcl @@ -112,7 +120,8 @@ libgv_tcl_la_SOURCES = $(BASESOURCES) libgv_tcl_la_LIBADD = $(top_builddir)/tclpkg/tclstubs/libtclstubs_C.la $(BASELIBS) @TCL_LIBS@ libgv_tcl_la_LDFLAGS = -gv_tcl.cpp $(TCL_hdr): gv.i +$(TCL_hdr): gv_tcl.cpp +gv_tcl.cpp: gv.i $(SWIG) -c++ -tcl -namespace -o gv_tcl.cpp $(srcdir)/gv.i

pkginclude_DATA = gv.i gv.cpp


Owner: ellson
Status: Fixed