[cmake-developers] Parallel build of cmake-2.8.3 fails using "MSYS Makefiles" generator under wine

Alan W. Irwin irwin at beluga.phys.uvic.ca
Sun Dec 5 01:16:50 EST 2010


On 2010-12-03 23:34-0800 Alan W. Irwin wrote:

> On the wine/MinGW/MSYS platform, the "make -j4 install" command used
> to build cmake errored out with a message to the effect that
> ranlib.exe could not find Utilities/cmzlib/libcmzlib.a.  However, when
> I checked after the failure, that static library was there.  Also, if
> I made a completely fresh build without the -j4 option for the make
> command, the build and install of cmake succeeded without issues.

I have tried my old MinGW/MSYS toolchain (which wasn't that much older
because it had the same MSYS make.exe version), changed the Windows
binary version of CMake from 2.8.3 to 2.8.2, changed the version of
the CMake source I was compiling from 2.8.3 to 2.8.2 to 2.8.1, and the
parallel build issue persists with MinGW/MSYS.  None of these
variations gave reliable parallel build results.  At least one such
variation (old tool chain, CMake-2.8.2 binary, CMake-2.8.2 source) was
essentially identical to my previous investigation of wine/MinGW/MSYS
building.  All the above was with the MSYS bin directory at the top of
the PATH before the MinGW bin directory.  When I switched those two
(which is the way my PATH was arranged for my previous investigation)
the parallel build got a lot further but still bombed out with a
bullshit (since everything is owned by the account that is used for
these experiments) permission denied problem near the end.  I don't no
whether that much better switched path result is significant or not
since the symptoms of parallel build issues are critically dependent
on exactly how long it takes each part of the build job to finish.

I now think it is possible I didn't check parallel builds in my
previous investigation using MSYS/MinGW or else I just lucked out 
with critical timing that avoided the issue the one time I tried it.

I have now found a quote from Bill last year asking the question
whether MSYS gmake (what I am using here) is capable of parallel
builds.

Does anybody know the answer to that question on a proprietary Windows
system?  I certainly cannot get it to work under wine now (at least
for the MSYS version of gmake that you obtain from
make-3.81-3-msys-1.0.13-bin.tar.lzma). I don't know whether this is
the fault of the "MSYS Makefiles" generator or the fault of the
particular MSYS gmake that I am testing.

For my next experiment I tried a parallel build of cmake-2.8.3 using
the cmake-2.8.3 windows binary under wine using the "MinGW Makefiles"
generator.  That worked like a charm and appears to verify that CMake
is compatible for parallel builds with the MinGW version of make
(mingw32-make installed from make-3.82-3-mingw32-bin.tar.lzma) and the
rest of the latest MinGW tool chain (g++ compiler, linker, etc.)

So "MinGW Makefiles" is a reasonable workaround for the parallel build
troubles I was having with the "MSYS Makefiles" generator on wine.
However, I think the next step in debugging those troubles is for
somebody with access to Microsoft Windows to try to verify those
troubles using the latest MinGW/MSYS tool chain you get with the
automatic installer.

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); PLplot scientific plotting software
package (plplot.org); 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