Idris2 icon indicating copy to clipboard operation
Idris2 copied to clipboard

jobserver unavailable

Open xgqt opened this issue 4 years ago • 3 comments

if executed with: make SCHEME=chez -j8 bootstrap

the make process will complain:

/bin/sh ./bootstrap-stage1-chez.sh
Bootstrapping SCHEME=chezscheme IDRIS2_VERSION=0.5.1
Building idris2-boot from idris2-boot.ss
compiling idris2_app/idris2-boot.ss with output to idris2_app/idris2-boot.so
IDRIS2_CG="chez" /bin/sh ./bootstrap-stage2.sh
/home/xy/source/public/github.com/xgqt/Idris2/bootstrap-build
make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.

This bug is often caused by calling make directly.

More info: https://stackoverflow.com/questions/60702726/warning-jobserver-unavailable-using-j1-add-to-parent-make-rule

xgqt avatar Nov 25 '21 21:11 xgqt

I suspect this is because bootstrap shell script calls ${MAKE}.

xgqt avatar Nov 25 '21 22:11 xgqt

note that PR https://github.com/idris-lang/Idris2/pull/1990 should also fix this.

attila-lendvai avatar Dec 03 '21 13:12 attila-lendvai

Parallel make isn't supported (currently): #864

The only eligible jobs are network / test-lib, and the sub-jobs of support. Since these are the smallest jobs it wouldn't be a big gain.

It'd likely be more beneficial to make the Idris2 compiler threaded. It could compile leaf nodes of the dependency graph in parallel, in theory.

benhormann avatar Dec 05 '21 21:12 benhormann