ralna/CUTEst

Parallel compilation

chrhansk opened this issue · 2 comments

I noticed after some debugging that the standard command

$ARCHDEFS/install_optrove

uses make internally to compile libcutest.a. Unfortunately, the compilation rule uses commands modifying the file libcutest.a in place. The compilation therefore breaks whenever multiple threads are used (i.e., using make -j<n> or by having MAKEFLAGS="-j<n>" set in the environment).

Since the behavior is unpredictable and errors of the form

/usr/bin/ar: /cutest/cutest/objects/pc64.lnx.gfo/double/libcutest.a: error reading cutest.o: file truncated 
/usr/bin/ar: /cutest/cutest/objects/pc64.lnx.gfo/double/libcutest.a: malformed archive

are not caught, the compilation can silently fail. I think it would be a good idea to put a warning in the wiki to.

@chrhansk
I just merged the Meson build system (release 2.1.0).

meson setup builddir
meson compile -C builddir
meson install -C builddir

It compiles libcutest_single.a and libcutest_double.a in less than 30 seconds.