[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