Qt4And5AutomocReverse test fails with cmake-3.12.0-rc2
I am seeing something similar to issue #15315 (closed) on Ubuntu16.04 arm64 (Nvidia TX2 L4T R28.2-DP) when building cmake-3.12.0-rc2. Gcc is Linaro 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.10).
Then I have restarted from scratch (after installing elfutils) packages with:
CC=gcc CXX=g++ CXXFLAGS=-std=gnu++17 ./bootstrap --parallel=6
and built without problems with make -j6
.
But running tests I had Qt4And5AutomocReverse failing.
After some investigations I've found that if I run ./bin/ctest -V -R Qt4And5AutomocReverse
before running Qt4And5Automoc test it works:
./bin/ctest -V -R Qt4And5AutomocReverse
UpdateCTestConfiguration from :/media/nvidia/Data/cmake/cmake-3.12.0-rc2/DartConfiguration.tcl
Parse Config file:/media/nvidia/Data/cmake/cmake-3.12.0-rc2/DartConfiguration.tcl
Add coverage exclude regular expressions.
Add coverage exclude: XCode
Add coverage exclude: /Source/(cm|kw)sys/
Add coverage exclude: /CMakeFiles/CMakeTmp/
Add coverage exclude: [A-Za-z]./[Qq]t/qt-.+-opensource-src
SetCTestConfiguration:CMakeCommand:/media/nvidia/Data/cmake/cmake-3.12.0-rc2/bin/cmake
UpdateCTestConfiguration from :/media/nvidia/Data/cmake/cmake-3.12.0-rc2/DartConfiguration.tcl
Parse Config file:/media/nvidia/Data/cmake/cmake-3.12.0-rc2/DartConfiguration.tcl
Test project /media/nvidia/Data/cmake/cmake-3.12.0-rc2
Constructing a list of tests
Guessing configuration NoConfig
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 163
Start 163: Qt4And5AutomocReverse
163: Test command: /media/nvidia/Data/cmake/cmake-3.12.0-rc2/bin/ctest "--build-and-test" "/media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5Automoc" "/media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5AutomocReverse" "--build-generator" "Unix Makefiles" "--build-project" "Qt4And5Automoc" "--build-exe-dir" "/media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5AutomocReverse" "--force-new-ctest-process" "--build-options" "-DCMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make" "-DQT_REVERSE_FIND_ORDER=1" "--test-command" "/media/nvidia/Data/cmake/cmake-3.12.0-rc2/bin/ctest" "-V"
163: Test timeout computed to be: 1500
163: Internal cmake changing into directory: /media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5AutomocReverse
163: ======== CMake output ======
163: Configuring
163: Configuring done
163: Generating
163: Generating done
163: Build files have been written to: /media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5AutomocReverse
163: ======== End CMake output ======
163: Change Dir: /media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5AutomocReverse
163:
163: Run Clean Command:"/usr/bin/make" "clean"
163:
163: Run Build Command:"/usr/bin/make"
163: [ 12%] Automatic MOC for target qt5_exe
163: [ 12%] Built target qt5_exe_autogen
163: Scanning dependencies of target qt5_exe
163: [ 25%] Building CXX object CMakeFiles/qt5_exe.dir/main_qt5.cpp.o
163: [ 37%] Building CXX object CMakeFiles/qt5_exe.dir/qt5_exe_autogen/mocs_compilation.cpp.o
163: [ 50%] Linking CXX executable qt5_exe
163: [ 50%] Built target qt5_exe
163: [ 62%] Automatic MOC for target qt4_exe
163: [ 62%] Built target qt4_exe_autogen
163: Scanning dependencies of target qt4_exe
163: [ 75%] Building CXX object CMakeFiles/qt4_exe.dir/main_qt4.cpp.o
163: [ 87%] Building CXX object CMakeFiles/qt4_exe.dir/qt4_exe_autogen/mocs_compilation.cpp.o
163: [100%] Linking CXX executable qt4_exe
163: [100%] Built target qt4_exe
163: Running test command: "/media/nvidia/Data/cmake/cmake-3.12.0-rc2/bin/ctest" "-V"
163: UpdateCTestConfiguration from :/media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5AutomocReverse/DartConfiguration.tcl
163: UpdateCTestConfiguration from :/media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5AutomocReverse/DartConfiguration.tcl
163: Test project /media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5AutomocReverse
163: Constructing a list of tests
163: Updating test list for fixtures
163: Added 0 tests to meet fixture requirements
163: Checking test dependency graph...
163: Checking test dependency graph end
163: No tests were found!!!
163:
1/1 Test #163: Qt4And5AutomocReverse ............ Passed 3.03 sec
The following tests passed:
Qt4And5AutomocReverse
100% tests passed, 0 tests failed out of 1
Total Test time (real) = 3.14 sec
while if after make I first run Qt4And5Automoc test it will fail:
./bin/ctest -V -R Qt4And5AutomocReverse
UpdateCTestConfiguration from :/media/nvidia/Data/cmake/cmake-3.12.0-rc2/DartConfiguration.tcl
Parse Config file:/media/nvidia/Data/cmake/cmake-3.12.0-rc2/DartConfiguration.tcl
Add coverage exclude regular expressions.
Add coverage exclude: XCode
Add coverage exclude: /Source/(cm|kw)sys/
Add coverage exclude: /CMakeFiles/CMakeTmp/
Add coverage exclude: [A-Za-z]./[Qq]t/qt-.+-opensource-src
SetCTestConfiguration:CMakeCommand:/media/nvidia/Data/cmake/cmake-3.12.0-rc2/bin/cmake
UpdateCTestConfiguration from :/media/nvidia/Data/cmake/cmake-3.12.0-rc2/DartConfiguration.tcl
Parse Config file:/media/nvidia/Data/cmake/cmake-3.12.0-rc2/DartConfiguration.tcl
Test project /media/nvidia/Data/cmake/cmake-3.12.0-rc2
Constructing a list of tests
Guessing configuration NoConfig
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 163
Start 163: Qt4And5AutomocReverse
163: Test command: /media/nvidia/Data/cmake/cmake-3.12.0-rc2/bin/ctest "--build-and-test" "/media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5Automoc" "/media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5AutomocReverse" "--build-generator" "Unix Makefiles" "--build-project" "Qt4And5Automoc" "--build-exe-dir" "/media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5AutomocReverse" "--force-new-ctest-process" "--build-options" "-DCMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make" "-DQT_REVERSE_FIND_ORDER=1" "--test-command" "/media/nvidia/Data/cmake/cmake-3.12.0-rc2/bin/ctest" "-V"
163: Test timeout computed to be: 1500
163: Internal cmake changing into directory: /media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5AutomocReverse
163: ======== CMake output ======
163: Configuring
163: Configuring done
163: Generating
163: Generating done
163: Build files have been written to: /media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5Automoc
163: ======== End CMake output ======
163: Change Dir: /media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5AutomocReverse
163:
163: Run Clean Command:"/usr/bin/make" "clean"
163: make: *** No rule to make target 'clean'. Stop.
163:
163: Run Build Command:"/usr/bin/make"
163: make: *** No targets specified and no makefile found. Stop.
1/1 Test #163: Qt4And5AutomocReverse ............***Failed 0.90 sec
0% tests passed, 1 tests failed out of 1
Total Test time (real) = 1.00 sec
The following tests FAILED:
163 - Qt4And5AutomocReverse (Failed)
Errors while running CTest
I noticed that destination directory looks wrong in the failing case: Build files have been written to: /media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5Automoc instead of /media/nvidia/Data/cmake/cmake-3.12.0-rc2/Tests/Qt4And5AutomocReverse.