[cmake-developers] Regression in language support infrastructure for CMake 2.8.10-rc3

Alan W. Irwin irwin at beluga.phys.uvic.ca
Sat Oct 27 04:25:47 EDT 2012


On 2012-10-24 16:39-0400 David Cole wrote:

> The CMake 2.8.10 release candidate stream continues! This is the last
> RC unless somebody finds a critical, must-fix issue with it.

As you know I have been distracted by CMake on Wine issues for some
time, and that is probably going to continue for a while, but just to
"do my duty" I just now tried a standard PLplot build on Linux with
rc3, and I am sorry to say there is a serious regression in the
language support infrastructure relative to 2.8.9.  Our Ada and D language
support are both fine with 2.8.9, but both crap out with rc3.

You may recall that our language support uses a workaround for bug
9220 (which is _still_ my top-priority bug for each release since that
workaround is far from perfect and doubles enabling time for each
language). The workaround (suggested by you years ago) uses a
temporary "workaround" project in language_tests/<Language> 
to check whether language support
works for a particular language.  If that workaround project succeeds
(with all build files stored in language_tests/<Language>, PLplot goes
ahead and enables that language for real, but if not, it warns the
user of the language issue and what will be removed from PLplot as
a result, and
moves on rather than erroring out.  That workaround is working for
all languages other than Ada and D as well
as it ever did, but I brought it up because you will see the ERROR
messages in the attached file of the 2.8.10-rc3 cmake output
(and similarly for 2.8.9 cmake output for comparison)
from the workaround project and would otherwise be
surprised that our build system survives those errors when they
occur.

Now on to the rc3 errors:

The error messages for the simple workaround project to check
Ada start with

CMake Error: Could not find cmake module
file:/home/software/plplot_svn/HEAD/build_dir/language_tests/Ada/CMakeFiles/2.8.10-rc3/CMakeAdaCompiler.cmake

And the rc3 error messages for the simple workaround
project to check D start with

CMake Error: Could not open file for write in copy operation
/CMakeDCompiler.cmake.tmp

So it appears to me that locations have been changed for 2.8.10 where
CMake language support expects configured and other files to be. I
haven't really been following 2.8.10 development that closely, but has
there been such an obviously backwards-incompatible change in how
language support works?

Of course, this is probably the most non-ideal moment to discover
something like this for me because I am still in the middle of the
CMake-Wine tests, and I am sure it is a non-ideal moment for you as
well. But I really do think the 2.8.10 release should be delayed until
this issue is sorted out.  I am certainly willing to cooperate on this
end in as timely a manner as possible with any tests/simple projects
that help to figure this out.

Of course, I am also willing to make any change the CMake developers
feel is necessary (so long as it doesn't break Ada and D language
support for older versions of CMake) in our Ada and D language
support, but I think that is a last resort. After all, we have
only made minor modifications to the D language Cmake approach given
at http://www.dsource.org/projects/cmaked so, for example, a change to
just our D language support is going to leave others out in the cold.

For the Ada case, I am aware of at least one other major project that
depends on Ada language support. (To help identify this project, there
was a long discussion with Bill recently from this guy implementing
the project, but I am too tired to look him up any better than that.) 
I don't know for sure that that project will be affected by this
CMake-2.8.10 regression in language support, but it is likely.

Finally we already have a simple but self-contained Ada test project
which can be obtained by

svn checkout \
https://plplot.svn.sourceforge.net/svnroot/plplot/branches/test_cmake/test_ada

I have just confirmed that simple project works fine with 2.8.9 and
does not work with 2.8.10-rc3 so perhaps the CMake developers should
start with a checkout of that simple project to help figure out what
has gone wrong.

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
__________________________
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2.8.10-rc3_cmake.out.gz
Type: application/octet-stream
Size: 4351 bytes
Desc: 
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20121027/5fe5f61e/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2.8.9_cmake.out.gz
Type: application/octet-stream
Size: 3657 bytes
Desc: 
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20121027/5fe5f61e/attachment-0005.obj>


More information about the cmake-developers mailing list