[cmake-developers] Parallel ctest issues on the MinGW-w64/MSYS2 platform

Alan W. Irwin irwin at beluga.phys.uvic.ca
Tue Mar 29 15:39:42 EDT 2016


One of the PLplot developers, Arjen Markus, has just reported to me
that ctest -j4 for PLplot hangs on his MinGW-w64/MSYS2 platform while
ctest works fine. This issue occurred for the
mingw64/mingw-w64-x86_64-cmake 3.4.1-1 package version of ctest.exe,
and the PLplot build was done with the "MSYS Makefiles" generator. In
contrast to the MinGW-w64/MSYS2 platform case, ctest -j4 works fine
for the Linux case.

Has anyone else here had similar difficulties OR success with the
parallel ctest option on the MinGW-w64/MSYS2 platform?

Previously, Arjen had discovered that the parallel build -j4 option
for make.exe (from the msys/make 4.1-4 package) was not reliable on
this platform.  I have forgotten all the details for that issue, but
we didn't pursue it further at that time because Cygwin also had the
same parallel make trouble so we wrote it off to some make.exe bug for
Cygwin that had been copied to MinGW-w64/MSYS2 platform (since the two
platforms are so closely related).

Of course, it always possible on both platforms that some make race
condition caused by a badly implemented CMake-based build system for
PLplot could be the source of these parallel make issues.  However,
make -j4 works fine for the Linux case so if there is such a make race
issue it is a subtle one. To eliminate this possibility does there
exist a definitive way to search for make race conditions for
CMake-based builds?  (I am thinking along the lines of looking for
duplicate "Building ..." lines in the output from "make all", but
there may be some better method that someone here would like to
suggest.)

Assuming make race conditions can be eliminated as the cause of the
issue with the make parallel build option, is there any obvious
connection between that issue and the parallel ctest issue on this
platform? For example, is the ctest parallel build option implemented
using generator facilities (e.g., the parallel build option for
make.exe) or do both the ctest and make implementations of their
respective parallel options use some common library that could be
screwing up on the MinGW-w64/MSYS2 platform?

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


More information about the cmake-developers mailing list