guix: patch store paths out of libunwind
Apply libgcc patches to Linux as well as Windows cross.
guix: build for Linux HOSTS with -static-libgcc
This is a backport of core#33181
Depends on D20563
Differential D20564
guix: build for Linux HOSTS with -static-libgcc Authored by PiRK on Sep 4 2026, 08:03.
Details
This is a backport of core#33181 guix builds
Diff Detail
Event TimelineComment Actions @bot guix-linux guix-win guix-osx
Comment Actions Build Bitcoin ABC Diffs / Diff Testing (ai-review) passed. Diff : committed changes only (\(\ ──────────────────────────────────────────────────────────────────────── major [Data Integrity & Integration] → ]8;;vscode://file//work/src/CMakeLists.txt:186src/CMakeLists.txt:186]8;; Scope static runtime flags to executable targets. When ENABLE_STATIC_LIBGCC is enabled, add_linker_flags(-static-libgcc) reaches shared targets such as bitcoinconsensus through directory-wide add_link_options(). This can create a separate libgcc/unwind runtime boundary for consumers. Scope both static runtime flags through executable-only linker flags. ──────────────────────────────────────── Major 1 7 files reviewed:
──────────────────────────────────────── Print all AI prompts: coderabbit review --show-prompts Comment Actions Build Bitcoin ABC Diffs / Diff Testing (guix-win) failed.
Tail of the build log: CRATE_CC_NO_DEFAULTS = None
TARGET = Some(x86_64-pc-windows-gnu)
CARGO_CFG_TARGET_FEATURE = Some(cmpxchg16b,fxsr,sse,sse2,sse3)
HOST = Some(x86_64-unknown-linux-gnu)
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS_x86_64_pc_windows_gnu
CFLAGS_x86_64_pc_windows_gnu = None
cargo:rerun-if-env-changed=CFLAGS_x86_64-pc-windows-gnu
CFLAGS_x86_64-pc-windows-gnu = None
cargo:warning=In file included from ../../../src/secp256k1/src/util.h:14,
cargo:warning= from ../../../src/secp256k1/src/field.h:10,
cargo:warning= from ../../../src/secp256k1/src/group.h:10,
cargo:warning= from ../../../src/secp256k1/src/precomputed_ecmult_gen.c:3:
cargo:warning=/gnu/store/wm296gx83nwp8w9wfqx6jd92mkwni2ri-mingw-w64-x86_64-winpthreads-12.0.0/include/stdio.h:380:1: error: expected identifier or '(' before '{' token
cargo:warning= 380 | {
cargo:warning= | ^
cargo:warning=In file included from ../../../src/secp256k1/src/field.h:10,
cargo:warning= from ../../../src/secp256k1/src/group.h:10,
cargo:warning= from ../../../src/secp256k1/src/precomputed_ecmult_gen.c:3:
cargo:warning=../../../src/secp256k1/src/util.h: In function 'checked_malloc':
cargo:warning=../../../src/secp256k1/src/util.h:157:17: error: implicit declaration of function 'malloc' [-Wimplicit-function-declaration]
cargo:warning= 157 | void *ret = malloc(size);
cargo:warning= | ^~~~~~
cargo:warning=../../../src/secp256k1/src/util.h:16:1: note: include '<stdlib.h>' or provide a declaration of 'malloc'
cargo:warning= 15 | #include <limits.h>
cargo:warning= +++ |+#include <stdlib.h>
cargo:warning= 16 |
cargo:warning=../../../src/secp256k1/src/util.h:157:17: warning: incompatible implicit declaration of built-in function 'malloc' [-Wbuiltin-declaration-mismatch]
cargo:warning= 157 | void *ret = malloc(size);
cargo:warning= | ^~~~~~
cargo:warning=../../../src/secp256k1/src/util.h:157:17: note: include '<stdlib.h>' or provide a declaration of 'malloc'
--- stderr
error occurred in cc-rs: command did not execute successfully (status code exit status: 1): LC_ALL="C" "/home/bitcoinabc/.guix-profile/bin/x86_64-w64-mingw32-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-m64" "-I" "../../../src/secp256k1/" "-I" "../../../src/secp256k1/include" "-I" "../../../src/secp256k1/src" "-I" "wasm/wasm-sysroot" "-Wall" "-Wextra" "-Wno-unused-function" "-Wno-unused-parameter" "-DSECP256K1_STATIC=1" "-DSECP256K1_API=extern" "-DENABLE_MODULE_ECDH=1" "-DENABLE_MODULE_SCHNORRSIG=1" "-DENABLE_MODULE_SCHNORR=1" "-DENABLE_MODULE_EXTRAKEYS=1" "-Dprintf(...)=" "-DECMULT_GEN_PREC_BITS=4" "-DECMULT_WINDOW_SIZE=15" "-DUSE_EXTERNAL_DEFAULT_CALLBACKS=1" "-DENABLE_MODULE_RECOVERY=1" "-o" "/bitcoin/distsrc-e60fcc2e5198-x86_64-w64-mingw32/./cargo/build/x86_64-pc-windows-gnu/release/build/ecash-secp256k1-sys-8ba2b12f2960bc33/out/77bfc82200067377-precomputed_ecmult_gen.o" "-c" "../../../src/secp256k1/src/precomputed_ecmult_gen.c"
warning: build failed, waiting for other jobs to finish...
[233/619] Building CXX object chronik/CMakeFiles/chronik.dir/chronik-cpp/chronik_validationinterface.cpp.obj
FAILED: apps/proof-manager-cli/CMakeFiles/_cargo-build_proof-manager-cli /bitcoin/distsrc-e60fcc2e5198-x86_64-w64-mingw32/apps/proof-manager-cli/CMakeFiles/_cargo-build_proof-manager-cli
cd /bitcoin/apps/proof-manager-cli && /gnu/store/4jc02ncv94xnk6rf515m90z7b5l354pa-cmake-minimal-3.24.2/bin/cmake -E env RUSTFLAGS=-Clink-arg=-Wl,--no-insert-timestamp CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER=/home/bitcoinabc/.guix-profile/bin/x86_64-w64-mingw32-gcc CC_x86_64_pc_windows_gnu=/home/bitcoinabc/.guix-profile/bin/x86_64-w64-mingw32-gcc CXX_x86_64_pc_windows_gnu=/home/bitcoinabc/.guix-profile/bin/x86_64-w64-mingw32-g++ AR_x86_64_pc_windows_gnu=/home/bitcoinabc/.guix-profile/bin/x86_64-w64-mingw32-ar CORROSION_BUILD_DIR=/bitcoin/distsrc-e60fcc2e5198-x86_64-w64-mingw32/apps/proof-manager-cli CARGO_BUILD_RUSTC=/home/bitcoinabc/.rustup/toolchains/1.87.0-x86_64-unknown-linux-gnu/bin/rustc /home/bitcoinabc/.rustup/toolchains/1.87.0-x86_64-unknown-linux-gnu/bin/cargo rustc --bin=proof-manager-cli --target=x86_64-pc-windows-gnu --package proof-manager-cli --manifest-path /bitcoin/apps/proof-manager-cli/Cargo.toml --target-dir /bitcoin/distsrc-e60fcc2e5198-x86_64-w64-mingw32/./cargo/build --profile=release --locked -- -Cdefault-linker-libraries=yes
[235/619] Building CXX object src/CMakeFiles/common.dir/common/init.cpp.obj
[236/619] Building CXX object src/CMakeFiles/common.dir/common/netif.cpp.obj
[237/619] Building CXX object src/CMakeFiles/common.dir/compressor.cpp.obj
[238/619] Building CXX object src/CMakeFiles/common.dir/common/system.cpp.obj
[239/619] Building CXX object src/CMakeFiles/common.dir/consensus/merkle.cpp.obj
[240/619] Building CXX object src/CMakeFiles/common.dir/cashaddrenc.cpp.obj
[241/619] Building CXX object src/CMakeFiles/common.dir/common/configfile.cpp.obj
[242/619] Building CXX object src/CMakeFiles/common.dir/common/pcp.cpp.obj
[243/619] Building CXX object src/CMakeFiles/common.dir/chainparams.cpp.obj
[244/619] Building CXX object src/CMakeFiles/common.dir/config.cpp.obj
[245/619] Building CXX object chronik/CMakeFiles/chronik-bridge.dir/chronik-cpp/chronik_bridge.cpp.obj
[246/619] Building CXX object src/CMakeFiles/common.dir/common/args.cpp.obj
[247/619] Building CXX object src/CMakeFiles/common.dir/coins.cpp.obj
ninja: build stopped: subcommand failed.
Build guix-win failed with exit code 1Comment Actions Build Bitcoin ABC Diffs / Diff Testing (guix-linux) failed.
Tail of the build log: /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/seeder/bitcoin-seeder: failed IMPORTED_SYMBOLS LIBRARY_DEPENDENCIES [9/12] Running symbol-check.py on bitcoin-wallet... FAILED: src/CMakeFiles/symbol-check-bitcoin-wallet /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/CMakeFiles/symbol-check-bitcoin-wallet cd /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src && /home/bitcoinabc/.guix-profile/bin/python3.10 /bitcoin/contrib/guix/symbol-check.py /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet: symbol _Unwind_GetRegionStart from unsupported version GCC_3.0(6) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet: symbol _Unwind_SetGR from unsupported version GCC_3.0(6) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet: symbol _Unwind_GetDataRelBase from unsupported version GCC_3.0(6) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet: symbol _Unwind_DeleteException from unsupported version GCC_3.0(6) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet: symbol _Unwind_GetLanguageSpecificData from unsupported version GCC_3.0(6) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet: symbol _Unwind_Resume_or_Rethrow from unsupported version GCC_3.3(17) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet: symbol _Unwind_RaiseException from unsupported version GCC_3.0(6) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet: symbol _Unwind_GetIPInfo from unsupported version GCC_4.2.0(22) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet: symbol _Unwind_GetTextRelBase from unsupported version GCC_3.0(6) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet: symbol _Unwind_Resume from unsupported version GCC_3.0(6) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet: symbol _Unwind_SetIP from unsupported version GCC_3.0(6) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet: libgcc_s.so.1 is not in ALLOWED_LIBRARIES! /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoin-wallet: failed IMPORTED_SYMBOLS LIBRARY_DEPENDENCIES [10/12] Running symbol-check.py on iguana... [11/12] Running symbol-check.py on bitcoin-qt... FAILED: src/qt/CMakeFiles/symbol-check-bitcoin-qt /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/CMakeFiles/symbol-check-bitcoin-qt cd /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt && /home/bitcoinabc/.guix-profile/bin/python3.10 /bitcoin/contrib/guix/symbol-check.py /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_FindEnclosingFunction from unsupported version GCC_3.3(20) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_Resume from unsupported version GCC_3.0(10) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_GetIP from unsupported version GCC_3.0(10) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_Resume_or_Rethrow from unsupported version GCC_3.3(20) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_GetCFA from unsupported version GCC_3.3(20) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_Backtrace from unsupported version GCC_3.3(20) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_GetLanguageSpecificData from unsupported version GCC_3.0(10) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_GetIPInfo from unsupported version GCC_4.2.0(27) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_GetDataRelBase from unsupported version GCC_3.0(10) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_GetRegionStart from unsupported version GCC_3.0(10) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_SetIP from unsupported version GCC_3.0(10) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_DeleteException from unsupported version GCC_3.0(10) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_RaiseException from unsupported version GCC_3.0(10) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_SetGR from unsupported version GCC_3.0(10) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: symbol _Unwind_GetTextRelBase from unsupported version GCC_3.0(10) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: libgcc_s.so.1 is not in ALLOWED_LIBRARIES! /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/qt/bitcoin-qt: failed IMPORTED_SYMBOLS LIBRARY_DEPENDENCIES [12/12] Running symbol-check.py on bitcoind... FAILED: src/CMakeFiles/symbol-check-bitcoind /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/CMakeFiles/symbol-check-bitcoind cd /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src && /home/bitcoinabc/.guix-profile/bin/python3.10 /bitcoin/contrib/guix/symbol-check.py /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_Resume_or_Rethrow from unsupported version GCC_3.3(13) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_FindEnclosingFunction from unsupported version GCC_3.3(13) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_Resume from unsupported version GCC_3.0(17) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_GetIP from unsupported version GCC_3.0(17) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_Backtrace from unsupported version GCC_3.3(13) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_GetCFA from unsupported version GCC_3.3(13) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_SetIP from unsupported version GCC_3.0(17) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_SetGR from unsupported version GCC_3.0(17) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_GetIPInfo from unsupported version GCC_4.2.0(12) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_DeleteException from unsupported version GCC_3.0(17) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_GetTextRelBase from unsupported version GCC_3.0(17) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_GetRegionStart from unsupported version GCC_3.0(17) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_GetDataRelBase from unsupported version GCC_3.0(17) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_GetLanguageSpecificData from unsupported version GCC_3.0(17) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: symbol _Unwind_RaiseException from unsupported version GCC_3.0(17) /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: libgcc_s.so.1 is not in ALLOWED_LIBRARIES! /bitcoin/distsrc-e60fcc2e5198-x86_64-linux-gnu/src/bitcoind: failed IMPORTED_SYMBOLS LIBRARY_DEPENDENCIES ninja: build stopped: subcommand failed. Build guix-linux failed with exit code 1
| ||||||||||||||||||||||||