[Monetdb-developers] monetdb-install.sh & MAKEOPTS=-j
Fabian, `make -j[N] install` is know not to work (in particular with MonetDB5) due to race conditions and/or dependency issues, and there is hardly any way to fix this. Hence, setting MAKEOPTS=-j[N] before calling monetdb-install.sh might (will) result in an error during make install. I propose the following (or similar) patch to omit -j[N] when calling make install (of course, the "simpler" but maybe less desireable option is to omit MAKEOPTS completely with make install ...): Index: monetweb/Assets/monetdb-install.sh =================================================================== RCS file: /ufs/monet/repository/monetweb/Assets/monetdb-install.sh,v retrieving revision 1.42 diff -u -r1.42 monetdb-install.sh --- monetweb/Assets/monetdb-install.sh 16 Mar 2009 20:27:42 -0000 1.42 +++ monetweb/Assets/monetdb-install.sh 7 Apr 2009 09:00:33 -0000 @@ -434,7 +434,7 @@ MAKE=make fi fi - ${MAKE} ${MAKEOPTS} "$@" > $QUIET + ${MAKE} "$@" > $QUIET return $? } @@ -502,8 +502,8 @@ echo " * Processing $p" > $QUIET echo $myconf > $QUIET eval "$myconf" > $QUIET || die "configuring $p failed" - emake || die "making $p failed" - emake install || die "installing $p failed" + emake ${MAKEOPTS} || die "making $p failed" + emake $(echo "${MAKEOPTS}" | sed 's|-j *[0-9]*||g') install || die "installing $p failed" popd > /dev/null done } @@ -533,7 +533,7 @@ ${DO_XQUERY+"--with-monetdb4=included"} \ ${DO_SQL+"--with-monetdb5=included"} \ ${DEBUG} - emake || die "making $p failed" + emake ${MAKEOPTS} || die "making $p failed" done } @@ -551,7 +551,7 @@ for p in ${A} ; do cd "${S}"/$p/$(get_cvs_module $p) || die "cannot find directory $p" - emake install || die "installing $p failed" + emake $(echo "${MAKEOPTS}" | sed 's|-j *[0-9]*||g') install || die "installing $p failed" done } Stefan -- | Dr. Stefan Manegold | mailto:Stefan.Manegold@cwi.nl | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4312 |
On 07-04-2009 11:06:56 +0200, Stefan Manegold wrote:
Fabian,
`make -j[N] install` is know not to work (in particular with MonetDB5) due to race conditions and/or dependency issues, and there is hardly any way to fix this.
Hence, setting MAKEOPTS=-j[N] before calling monetdb-install.sh might (will) result in an error during make install.
I propose the following (or similar) patch to omit -j[N] when calling make install (of course, the "simpler" but maybe less desireable option is to omit MAKEOPTS completely with make install ...):
I prefer removing the -j argument from the script, and leaving it a "advanced" developers' option instead then. We should not try to needlessly complicate the monetdb-install.sh script for a flaw in our makefiles. Ultimately we should concentrate on fixing them, IMO.
participants (2)
-
Fabian Groffen
-
Stefan Manegold