Initially seen building using depends & DEBUG=1
, which adds -D_GLIBCXX_DEBUG
.
0# x86_64-w64-mingw32-g++ (GCC) 14.2.0 on Alpine x86_64
1make -C depends/ HOST=x86_64-w64-mingw32 -j12 NO_QT=1 NO_ZMQ=1 NO_WALLET=1
2cmake -B build --toolchain /bitcoin/depends/x86_64-w64-mingw32/toolchain.cmake -DAPPEND_CPPFLAGS="-D_GLIBCXX_DEBUG"
3cmake --build build
4<snip>
5[ 25%] Building CXX object src/CMakeFiles/bitcoin_consensus.dir/pubkey.cpp.obj
6cd /bitcoin/build/src && /usr/bin/ccache /usr/bin/x86_64-w64-mingw32-g++ -DNOMINMAX -DSECP256K1_STATIC -DWIN32 -DWIN32_LEAN_AND_MEAN -D_MT -D_WIN32_IE=0x0A00 -D_WIN32_WINNT=0x0A00 -D_WINDOWS [@CMakeFiles](/bitcoin-bitcoin/contributor/cmakefiles/)/bitcoin_consensus.dir/includes_CXX.rsp -pipe -std=c++20 -O2 -O2 -g -std=c++20 -Wa,-muse-unaligned-vector-move -fno-extended-identifiers -fdebug-prefix-map=/bitcoin/src=. -fmacro-prefix-map=/bitcoin/src=. -fstack-reuse=none -Wall -Wextra -Wformat -Wformat-security -Wvla -Wredundant-decls -Wdate-time -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Woverloaded-virtual -Wsuggest-override -Wimplicit-fallthrough -Wunreachable-code -Wbidi-chars=any -Wundef -Wno-unused-parameter -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -Wstack-protector -fstack-protector-all -fcf-protection=full -MD -MT src/CMakeFiles/bitcoin_consensus.dir/pubkey.cpp.obj -MF CMakeFiles/bitcoin_consensus.dir/pubkey.cpp.obj.d -o CMakeFiles/bitcoin_consensus.dir/pubkey.cpp.obj -c /bitcoin/src/pubkey.cpp -D_GLIBCXX_DEBUG
7In file included from /usr/x86_64-w64-mingw32/include/c++/14.2.0/debug/debug.h:90,
8 from /usr/x86_64-w64-mingw32/include/c++/14.2.0/bits/stl_algobase.h:69,
9 from /usr/x86_64-w64-mingw32/include/c++/14.2.0/string:51,
10 from /bitcoin/src/crypto/sha256.h:10,
11 from /bitcoin/src/hash.h:12,
12 from /bitcoin/src/pubkey.h:10,
13 from /bitcoin/src/pubkey.cpp:6:
14/bitcoin/src/pubkey.cpp:195:116: in 'constexpr' expansion of 'std::span<const unsigned char>(util::hex_literals::operator""_hex_u8<util::detail::Hex<65>{std::array<std::byte, 32>{std::__array_traits<std::byte, 32>::_Type{(std::byte)80, (std::byte)146, (std::byte)155, (std::byte)116, (std::byte)193, (std::byte)160, (std::byte)73, (std::byte)84, (std::byte)183, (std::byte)139, (std::byte)75, (std::byte)96, (std::byte)53, (std::byte)233, (std::byte)122, (std::byte)94, (std::byte)7, (std::byte)138, (std::byte)90, (std::byte)15, (std::byte)40, (std::byte)236, (std::byte)150, (std::byte)213, (std::byte)71, (std::byte)191, (std::byte)238, (std::byte)154, (std::byte)206, (std::byte)128, (std::byte)58, (std::byte)192}}}>())'
15/usr/x86_64-w64-mingw32/include/c++/14.2.0/span:202:57: in 'constexpr' expansion of '((std::span<const unsigned char>*)this)->std::span<const unsigned char>::span<const unsigned char*>((& __arr)->std::array<unsigned char, 32>::data(), 32)'
16/usr/x86_64-w64-mingw32/include/c++/14.2.0/span:165:11: error: '__builtin_expect(((long int)(! __gnu_debug::__valid_range<const unsigned char*>(__first, (__first + ((sizetype)__count))))), 0)' is not a constant expression
17 165 | __glibcxx_requires_valid_range(__first, __first + __count);
18 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19gmake[2]: *** [src/CMakeFiles/bitcoin_consensus.dir/build.make:170: src/CMakeFiles/bitcoin_consensus.dir/pubkey.cpp.obj] Error 1