[CMake] Re: CMake test suite - 51% failure rate?! (x86/Solaris 10)

Bill Hoffman hoffman.mlist at gmail.com
Mon Mar 26 17:04:10 EST 2007


Matthew Woehlke wrote:
> Bill Hoffman wrote:
>> Matthew Woehlke wrote:
>>> A while back I "successfully"* built CMake on an x86/Solaris 10 box. 
>>> Now, trying to build on a different box, I am getting a 51% failure 
>>> rate in the test suite. Huh?!
>>>
>>> (* the test suite has an odd problem with GNU make 3.81, otherwise 
>>> it was clean)
>>>
>>> I also can't seem to find any output from the failed tests, which were:
>>> [snip]
>>>
>>> Ideas? The most obvious difference I can think of is that a 
>>> different compiler is being used in this case ("Sun C 5.8 
>>> 2005/10/13", also there is a(n ancient!) gcc 2.95.3 available) 
>>> versus the box where CMake tested OK ("Sun C 5.7 2005/01/07", no gcc 
>>> available).
>>>
>> If the machine is on a network, you can do:
>> make Experimental
>>
>> This will send the results to the CMake dashboard.  Then others will 
>> be able to see the full results.  If not you can run ctest -V to see 
>> more verbose output.
>
> ctest -V was monumentally helpful...
>
> ld.so.1: executable: fatal: libstdc++.so.2.10.0: open failed: No such 
> file or directory
>
> ...I bet that's the problem in most/all cases. Ok, turns out (well, I 
> sort-of knew this before, but) g++ is broken, at least in that 
> binaries it produces all have this problem. Which means I seem to have 
> found a "bug"; tests that involve compiling C++ programs either a: 
> ignore that I was using CC=cc CXX=CC to build cmake, or b: fail to 
> notice that g++ produces broken executables. (I'm attaching the full 
> output of 'VERBOSE=1 bin/ctest -V -I 63,63'.)
>
> After forcing the issue with 'CC=cc CXX=cxx bin/ctest', the test suite 
> passes.
>
> On a different note: I thought the verbose output was always written 
> to a file somewhere; is this not the case?
>
> FYI test 47 is leaking output as follows:
>  47/ 67 Testing wrapping                      sh: 
> QT_MOC_EXECUTABLE-NOTFOUND: not found
> sh: QT_UIC_EXECUTABLE-NOTFOUND: not found
>    Passed
>
> Another note: running test 63 "broken" once made it almost impossible 
> to clean things up and re-run with the right compilers... ultimately I 
> did 'rm -rf Tests' and re-unpacked the tarball to fix it. Is it 
> supposed to be that difficult? (I did try nuking just 
> Tests/SubDir/CMakeFiles first, to no effect.)
>
> Anyway, thanks for the quick help!
Best thing to do is use out of source builds.  Or you can use out of 
source builds. 

mkdir CMake-build
../CMake/bootstrap
make
make test

If you need to clean up the tests.
rm -rf Tests
make
make tests

Did I mention that out of source builds work good for this...  :-)


-Bill



More information about the CMake mailing list