[cmake-developers] [BUG] Duplicate link steps for standalone 'make -j4 install' build and install of cmake-2.8.3 on Linux

Alan W. Irwin irwin at beluga.phys.uvic.ca
Wed Dec 8 20:14:58 EST 2010


On 2010-12-08 15:24-0800 Alan W. Irwin wrote:

> Does this [linking evidence for Linux] mean the duplicate linking messages (which both for wine and
> Linux occur only for some of the static libraries) are some artifact
> that should be ignored pending a bug fix to clean that up, or does it
> mean the links are actually happening twice on Linux as well?

I investigated further with VERBOSE=1, and it turns out the link steps
for the CMake-2.8.3 build are actually being repeated for the
standalone (i.e., with no previous make command executed for the
default all target) "make -j4 install" case on the Linux platform. If
-j4 is dropped from that standalone make install command, the
duplicate link steps disappear. That is solid evidence for a real
dependency bug in the build system of CMake itself.  I attach the
compressed standalone "make -j4 install" output for further expert
analysis by the CMake developers. For example, note the duplicate
link steps for libcmcurl.a.

Note in particular the above case is for the standalone install
target. The problem completely disappears for the combination of

make -j4
make -j4 install

(!) That leads to the obvious question, what is different in
dependencies between the standalone "all" and "install" targets for
the build system of cmake-2.8.3 that causes duplicate linking of static
libraries in the latter case for parallel builds?

I was also using a standalone "make -j4 install" command for the two
cmake builds with different generators for the wine case so I think
the above bug demonstrated on the Linux platform may explain those bad
parallel build results as well for the wine platform.  In that case
the component build timing appears to be just right so the duplicate
link steps usually (but not always) interfere with each other.

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
__________________________
-------------- next part --------------
A non-text attachment was scrubbed...
Name: make_install.out.gz
Type: application/octet-stream
Size: 19171 bytes
Desc: compressed 'make -j4 install' output for a Linux build of cmake-2.8.3
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20101208/c9a3a9d9/attachment-0002.obj>


More information about the cmake-developers mailing list