Page MenuHomePhabricator

Make sure we're using the same version of clang tools for everything
ClosedPublic

Authored by jasonbcox on Apr 24 2020, 23:47.

Details

Summary

clang-7 is installed by default. We should use the same version of clang and various clang tools.
This patch bumps clang to 8 to match the other tools.

Depends on D5835

Test Plan

Run various clang test suites on CI

Diff Detail

Repository
rABC Bitcoin ABC
Branch
setup-clang
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 10399
Build 18619: Default Diff Build & Tests
Build 18618: arc lint + arc unit

Event Timeline

Snippet of first build failure:

[00:11:40]W:	 [Step 1/2] ++ nproc
[00:11:40]W:	 [Step 1/2] + THREADS=12
[00:11:40]W:	 [Step 1/2] + export THREADS
[00:11:40]W:	 [Step 1/2] + SAN_SUPP_DIR=/work/test/sanitizer_suppressions
[00:11:40]W:	 [Step 1/2] + SAN_LOG_DIR=/tmp/sanitizer_logs
[00:11:40]W:	 [Step 1/2] + mkdir -p /tmp/sanitizer_logs
[00:11:40]W:	 [Step 1/2] + rm -rf '/tmp/sanitizer_logs/*'
[00:11:40]W:	 [Step 1/2] + export ASAN_OPTIONS=log_path=/tmp/sanitizer_logs/asan.log
[00:11:40]W:	 [Step 1/2] + ASAN_OPTIONS=log_path=/tmp/sanitizer_logs/asan.log
[00:11:40]W:	 [Step 1/2] + export LSAN_OPTIONS=log_path=/tmp/sanitizer_logs/lsan.log
[00:11:40]W:	 [Step 1/2] + LSAN_OPTIONS=log_path=/tmp/sanitizer_logs/lsan.log
[00:11:40]W:	 [Step 1/2] + export TSAN_OPTIONS=log_path=/tmp/sanitizer_logs/tsan.log
[00:11:40]W:	 [Step 1/2] + TSAN_OPTIONS=log_path=/tmp/sanitizer_logs/tsan.log
[00:11:40]W:	 [Step 1/2] + export UBSAN_OPTIONS=log_path=/tmp/sanitizer_logs/ubsan.log
[00:11:40]W:	 [Step 1/2] + UBSAN_OPTIONS=log_path=/tmp/sanitizer_logs/ubsan.log
[00:11:40]W:	 [Step 1/2] + UNIT_TESTS_JUNIT_LOG_LEVEL=message
[00:11:40]W:	 [Step 1/2] + case "$ABC_BUILD_NAME" in
[00:11:40]W:	 [Step 1/2] + CMAKE_FLAGS=("-DENABLE_WERROR=ON" "-DCMAKE_C_COMPILER=clang" "-DCMAKE_CXX_COMPILER=clang++")
[00:11:40]W:	 [Step 1/2] + CMAKE_FLAGS='-DENABLE_WERROR=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++'
[00:11:40]W:	 [Step 1/2] + /work/contrib/devtools/build_cmake.sh
[00:11:40]W:	 [Step 1/2] + : /work
[00:11:40]W:	 [Step 1/2] + : /work/build
[00:11:40]W:	 [Step 1/2] + : '-DENABLE_WERROR=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++'
[00:11:40]W:	 [Step 1/2] + mkdir -p /work/build
[00:11:40]W:	 [Step 1/2] + cd /work/build
[00:11:40]W:	 [Step 1/2] + git clean -xffd
[00:11:40]W:	 [Step 1/2] + read -a CMAKE_FLAGS
[00:11:40]W:	 [Step 1/2] + cmake -GNinja .. -DENABLE_CLANG_TIDY=OFF -DENABLE_WERROR=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
[00:11:40] :	 [Step 1/2] -- The C compiler identification is Clang 8.0.1
[00:11:40] :	 [Step 1/2] -- The CXX compiler identification is unknown
[00:11:40] :	 [Step 1/2] -- Check for working C compiler: /usr/bin/clang
[00:11:40] :	 [Step 1/2] -- Check for working C compiler: /usr/bin/clang -- works
[00:11:40] :	 [Step 1/2] -- Detecting C compiler ABI info
[00:11:40] :	 [Step 1/2] -- Detecting C compiler ABI info - done
[00:11:40] :	 [Step 1/2] -- Detecting C compile features
[00:11:40] :	 [Step 1/2] -- Detecting C compile features - done
[00:11:40]W:	 [Step 1/2] CMake Error at CMakeLists.txt:9 (project):
[00:11:40]W:	 [Step 1/2]   The CMAKE_CXX_COMPILER:
[00:11:40]W:	 [Step 1/2] 
[00:11:40]W:	 [Step 1/2]     clang++
[00:11:40]W:	 [Step 1/2] 
[00:11:40]W:	 [Step 1/2]   is not a full path and was not found in the PATH.
[00:11:40]W:	 [Step 1/2] 
[00:11:40]W:	 [Step 1/2]   Tell CMake where to find the compiler by setting either the environment
[00:11:40]W:	 [Step 1/2]   variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
[00:11:40]W:	 [Step 1/2]   to the compiler, or to the compiler name if it is in the PATH.
[00:11:40]W:	 [Step 1/2] 
[00:11:40]W:	 [Step 1/2] 
[00:11:40] :	 [Step 1/2] -- Configuring incomplete, errors occurred!
[00:11:40] :	 [Step 1/2] See also "/work/build/CMakeFiles/CMakeOutput.log".
[00:11:40] :	 [Step 1/2] See also "/work/build/CMakeFiles/CMakeError.log".
[00:11:40] :	 [Step 1/2] *** Output of /tmp/sanitizer_logs/*.log.* ***
[00:11:40]W:	 [Step 1/2] ++ print_sanitizers_log
[00:11:40]W:	 [Step 1/2] ++ for log in "${SAN_LOG_DIR}"/*.log.*
[00:11:40]W:	 [Step 1/2] ++ echo '*** Output of /tmp/sanitizer_logs/*.log.* ***'
[00:11:40]W:	 [Step 1/2] ++ cat '/tmp/sanitizer_logs/*.log.*'
[00:11:40]W:	 [Step 1/2] cat: '/tmp/sanitizer_logs/*.log.*': No such file or directory
[00:11:40]W:	 [Step 1/2] cp: cannot stat '/work/ibd/debug.log': No such file or directory
[00:11:44]W:	 [Step 1/2] Process exited with code 1
[00:11:44]E:	 [Step 1/2] Process exited with code 1 (Step: Command Line)
This revision is now accepted and ready to land.Apr 25 2020, 00:23