[Ecls-list] Build of ECL breaks for parallel builds.

Dr. David Kirkby david.kirkby at onetel.net
Fri Jun 18 16:12:50 UTC 2010


If one attempts to build ECL 10.4.1 (latest available stable release) in 
parallel, so the build goes wrong

Here it is on a Sun Ultra 27 with a quad core hyper-threaded (8 threads) Xeon 
processor. I've set 12 threads running, using 'make -j 12'.

This is on OpenSolaris, but it's clearly been experienced with other operating 
systems before, as the installation file in Sage (spkg-install), specifically 
disables parallel builds

I get a similar failure with only 2 threads.

http://trac.sagemath.org/sage_trac/ticket/9187

is a patch for Sage which sets

MAKEFLAGS=
export MAKEFLAGS

as the current method of disabling parallel builds in Sage is not working.

Of course, the simple answer is to just accept this and disable parallel builds. 
In the short term, this seems most logical. But in the longer term, it would be 
nice if the issue could be resolved, as ECL is one of the packages in Sage which 
takes a significant time to build. It is along with ATLAS and Maxima take quite 
some time to build.

(As a note to Sage developers, we should really take a look at what packages 
take a long time to build, and see if they can be speeded up by building in 
parallel. Simply setting "$MAKE=make" to disable parallel builds is a hack)

Dave

Libraries have been installed in:
    /export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/build

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
    - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
      during execution
    - use the `-RLIBDIR' linker flag

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
  /usr/bin/ginstall -c -m 644 
'/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/gc/doc/porting.html' 
'/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/build/share/gc/porting.html'
make[4]: Leaving directory 
`/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/build/gc'
make[3]: Leaving directory 
`/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/build/gc'
make[2]: Leaving directory 
`/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/build/gc'
cd c; make
make[2]: Entering directory 
`/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/build/c'
cat 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/symbols_list.h 
| \
	sed -e 's%{\([A-Z ]*.*".*"\),[^,]*,[ ]*NULL,.*}%{\1,NULL}%g' \
	    -e 's%{\([A-Z ]*.*".*"\),[^,]*,[ ]*\([^,]*\),.*}%{\1,"\2"}%g' \
	    -e 's%{NULL.*%{NULL,NULL}};%' > 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/symbols_list2.h
if test -f ../CROSS-DPP ; then ../CROSS-DPP 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/main.d tmp.c 
; else ./dpp 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/main.d tmp.c 
; fi
if test -f ../CROSS-DPP ; then ../CROSS-DPP 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/symbol.d 
tmp.c ; else ./dpp 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/symbol.d 
tmp.c ; fi
if test -f ../CROSS-DPP ; then ../CROSS-DPP 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/package.d 
tmp.c ; else ./dpp 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/package.d 
tmp.c ; fi
if test -f ../CROSS-DPP ; then ../CROSS-DPP 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/list.d tmp.c 
; else ./dpp 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/list.d tmp.c 
; fi
if test -f ../CROSS-DPP ; then ../CROSS-DPP 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/apply.d 
apply.c ; else ./dpp 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/apply.d 
apply.c ; fi
if test -f ../CROSS-DPP ; then ../CROSS-DPP 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/eval.d tmp.c 
; else ./dpp 
/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/src/c/eval.d tmp.c 
; fi
/bin/sh: line 1: ./dpp: not found
/bin/sh: line 1: ./dpp: not found
/bin/sh: line 1: ./dpp: not found
/bin/sh: line 1: ./dpp: not found
make[2]: *** [package.o] Error 127/bin/sh: line 1: ./dpp: not found

make[2]: *** Waiting for unfinished jobs....
make[2]: *** [symbol.o] Error 127
make[2]: *** [main.o] Error 127
make[2]: *** [apply.c] Error 127
make[2]: *** [list.o] Error 127
/bin/sh: line 1: ./dpp: not found
make[2]: *** [eval.o] Error 127
make[2]: Leaving directory 
`/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/build/c'
make[1]: *** [libeclmin.a] Error 2
make[1]: Leaving directory 
`/export/home/drkirkby/sage-4.4.4.alpha1/spkg/standard/ecl-10.4.1/src/build'
make: *** [all] Error 2








More information about the ecl-devel mailing list