Page MenuHomePhabricator

guix: GCC 12 consolidation
AcceptedPublic

Authored by Fabien on Thu, Nov 28, 21:34.

Details

Reviewers
PiRK
Group Reviewers
Restricted Project
Summary
This PR contains 3 changes:

 - Bump GCC in Guix from 12.3.0 to 12.4.0. A patch was sent upstream, https://lists.gnu.org/archive/html/guix-patches/2024-06/msg01025.html, but has not landed.
 - Consolidate all build environments back to using a GCC 12 toolchain. After
   build: LLD based macOS toolchain #21778, the macOS environment is no-longer pinned to 11 (12 would otherwise cause issues building cctools). So, instead of requiring all builders to compile an additional GCC toolchain, use 12.
 - Use GCC 12 to compile winpthreads. Currently, GCC 11 is used; which became apparent in
   guix: bump time-machine to efc26826400762207cde9f23802cfe75a737963c #30452 (comment).

Backport of core#30511.

Depends on D17266.

Test Plan

Run the GUIX builds

Diff Detail

Repository
rABC Bitcoin ABC
Branch
PR30511
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 31447
Build 62392: Build Diff
Build 62391: arc lint + arc unit

Event Timeline

Fabien requested review of this revision.Thu, Nov 28, 21:34

@bot guix-linux guix-osx guix-win

Tail of the build log:

Postprocessing native_mac_alias...
Caching native_mac_alias...
Extracting native_libtapi...
/bitcoin/depends/sources/eb33a59f2e30ff9724dc1ea8bee8b5229b0557c9.tar.gz: OK
Preprocessing native_libtapi...
patching file build.sh
Configuring native_libtapi...
Building native_libtapi...
-- The C compiler identification is Clang 15.0.7
-- The CXX compiler identification is Clang 15.0.7
-- The ASM compiler identification is Clang with GNU-like command-line
-- Found assembler: /home/bitcoinabc/.guix-profile/bin/clang
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/bitcoinabc/.guix-profile/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/bitcoinabc/.guix-profile/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- clang project is enabled
-- clang-tools-extra project is disabled
-- compiler-rt project is disabled
-- debuginfo-tests project is disabled
-- libc project is disabled
-- libclc project is disabled
-- libcxx project is disabled
-- libcxxabi project is disabled
-- libunwind project is disabled
-- lld project is disabled
-- lldb project is disabled
-- mlir project is disabled
-- openmp project is disabled
-- parallel-libs project is disabled
-- polly project is disabled
-- pstl project is disabled
-- tapi project is enabled
-- flang project is disabled
-- Performing Test LLVM_LIBSTDCXX_MIN
-- Performing Test LLVM_LIBSTDCXX_MIN - Success
-- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR
-- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR - Failed
CMake Error at cmake/modules/CheckCompilerVersion.cmake:119 (message):
  libstdc++ version should be at least 5.1 because LLVM will soon use new C++
  features which your toolchain version doesn't support.  You can temporarily
  opt out using LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN, but very soon your
  toolchain won't be supported.
Call Stack (most recent call first):
  cmake/config-ix.cmake:14 (include)
  CMakeLists.txt:691 (include)


-- Configuring incomplete, errors occurred!
See also "/bitcoin/depends/work/build/x86_64-apple-darwin/native_libtapi/eb33a59f2e30ff9724dc1ea8bee8b5229b0557c9-2580fecb18b/build/CMakeFiles/CMakeOutput.log".
See also "/bitcoin/depends/work/build/x86_64-apple-darwin/native_libtapi/eb33a59f2e30ff9724dc1ea8bee8b5229b0557c9-2580fecb18b/build/CMakeFiles/CMakeError.log".
make: *** [funcs.mk:296: /bitcoin/depends/work/build/x86_64-apple-darwin/native_libtapi/eb33a59f2e30ff9724dc1ea8bee8b5229b0557c9-2580fecb18b/./.stamp_built] Error 1
make: Leaving directory '/bitcoin/depends'
Build guix-osx failed with exit code 2

@bot guix-linux guix-win guix-osx

Tail of the build log:

Postprocessing native_mac_alias...
Caching native_mac_alias...
Extracting native_libtapi...
/bitcoin/depends/sources/eb33a59f2e30ff9724dc1ea8bee8b5229b0557c9.tar.gz: OK
Preprocessing native_libtapi...
patching file build.sh
Configuring native_libtapi...
Building native_libtapi...
-- The C compiler identification is Clang 15.0.7
-- The CXX compiler identification is Clang 15.0.7
-- The ASM compiler identification is Clang with GNU-like command-line
-- Found assembler: /home/bitcoinabc/.guix-profile/bin/clang
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/bitcoinabc/.guix-profile/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/bitcoinabc/.guix-profile/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- clang project is enabled
-- clang-tools-extra project is disabled
-- compiler-rt project is disabled
-- debuginfo-tests project is disabled
-- libc project is disabled
-- libclc project is disabled
-- libcxx project is disabled
-- libcxxabi project is disabled
-- libunwind project is disabled
-- lld project is disabled
-- lldb project is disabled
-- mlir project is disabled
-- openmp project is disabled
-- parallel-libs project is disabled
-- polly project is disabled
-- pstl project is disabled
-- tapi project is enabled
-- flang project is disabled
-- Performing Test LLVM_LIBSTDCXX_MIN
-- Performing Test LLVM_LIBSTDCXX_MIN - Success
-- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR
-- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR - Failed
CMake Error at cmake/modules/CheckCompilerVersion.cmake:119 (message):
  libstdc++ version should be at least 5.1 because LLVM will soon use new C++
  features which your toolchain version doesn't support.  You can temporarily
  opt out using LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN, but very soon your
  toolchain won't be supported.
Call Stack (most recent call first):
  cmake/config-ix.cmake:14 (include)
  CMakeLists.txt:691 (include)


-- Configuring incomplete, errors occurred!
See also "/bitcoin/depends/work/build/x86_64-apple-darwin/native_libtapi/eb33a59f2e30ff9724dc1ea8bee8b5229b0557c9-55ccb5b2818/build/CMakeFiles/CMakeOutput.log".
See also "/bitcoin/depends/work/build/x86_64-apple-darwin/native_libtapi/eb33a59f2e30ff9724dc1ea8bee8b5229b0557c9-55ccb5b2818/build/CMakeFiles/CMakeError.log".
make: *** [funcs.mk:296: /bitcoin/depends/work/build/x86_64-apple-darwin/native_libtapi/eb33a59f2e30ff9724dc1ea8bee8b5229b0557c9-55ccb5b2818/./.stamp_built] Error 1
make: Leaving directory '/bitcoin/depends'
Build guix-osx failed with exit code 2
Fabien planned changes to this revision.Fri, Nov 29, 08:38
Fabien removed a parent revision: D17237: guix: use glibc 2.31.

@bot guix-linux guix-osx guix-win

This revision is now accepted and ready to land.Sun, Dec 1, 12:03