[CMake] CMake built with Apache stdcxx has problems?

Bill Hoffman bill.hoffman at kitware.com
Tue Apr 6 11:16:11 EDT 2010


Attila Nagy wrote:
> Hi all,
> 
> I regularly build Slicer on Solaris x86_64, with Sun Studio. The
latest version of Studio (12.1; CC 5.10) supports compilation with the
use of Apache STDCXX (*), as it is integrated into Solaris (yes, into
the OS itself, into /usr/lib).
> Since Apache stdcxx is far more standards-compliant (**), _and_
> Slicer
is undergoing a transition to Qt, which happens to be supported to be
built with this library on Solaris, I began to rebuild Slicer's whole
tool-chain with stdcxx.
> 
> I found a really interesting issue: If CMake is built with Cstd, or
> stlport4, there are no problems. When, however, CMake is built with
> -library=stdcxx4, I get strange
errors during Slicer's configure step. Interestingly, other CMake-based
projects do not exhibit this behavior (VTK, ITK, teem, for example).
> 
> Example config errors can be found here: 
> www.orl.szote.u-szeged.hu/~attila/slicer.cmake.configure.error1.txt
> 
> subsequent configure retries yield even more strange errors: 
> www.orl.szote.u-szeged.hu/~attila/slicer.cmake.configure.error-re-run.txt
> 
> 
> I did these experiments on the _same_ CMake source (checkout).
> 
> If someone thinks that this issue might worth to be investigated, I
would be glad to help - but I need guidance! :)
> 
> Thanks, Attila
> 
> (*) To be precise: Studio 12 supports this too, but with more flags;
see the man page of stdcxx4 on Nevada b125 and up.
> (**) far more standards compliant than Cstd, and more standards
compliant than the current STLport4 (that is included with the compiler
collection only) that can be found on Solaris - and more up-to-date.
> 

Looks like some sort of new line processing issue.

CMake Error at Modules/AtlasCreator/CMakeLists.txt:89 (add_library):
   Target "AtlasCreator" links to item "RemoteIO

   " which has leading or trailing whitespace.  This is now an error 
according
   to policy CMP0004.

CMake Error: Parse error in cache file 
/ufsbckp/head-64-slicer/apache/Slicer3-build/CMakeCache.txt. Offending 
entry: ;general;SlicerBaseLogic


Can you put the file 
/ufsbckp/head-64-slicer/apache/Slicer3-build/CMakeCache.txt on line as well?

I am guessing that \n is doubling for some reason...

-Bill


More information about the CMake mailing list