Page MenuHomePhabricator

Bump minimum required Windows version to Windows 10
AbandonedPublicDraft

Authored by Fabien on Jul 30 2024, 09:52.

Details

Reviewers
None
Group Reviewers
Restricted Project
Summary

Windows 7, 8 and 8.1 are deprecated since january 2023 and will not receive security updates anymore. Running crypto software on these OS should be discouraged.

Test Plan

Run the cross builds and GUIX builds, check the binary runs on windows 10.

Event Timeline

Tail of the build log:

-- Looking for __builtin_ssubll_overflow - found
-- Configuring done
-- Generating done
-- Build files have been written to: /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/native
[3/17] Generating ../cargo/build/x86_64-pc-windows-gnu/cxxbridge/chronik-bridge/src/ffi.rs.cc, ../cargo/build/x86_64-pc-windows-gnu/cxxbridge/chronik_lib/src/ffi.rs.cc
Generating cxx bridge files
[4/10] Building native src/secp256k1/gen_context
ninja: no work to do.
[6/10] Running security-check.py on bitcoin-cli...
[7/10] Running security-check.py on bitcoin-tx...
[8/10] Running security-check.py on bitcoin-wallet...
[9/10] Running security-check.py on bitcoind...
[10/10] Running security-check.py on bitcoin-qt...
[0/17] cd /bitcoin/chronik/chronik-lib && /gnu/store/7ialc5c3b7if7qpr1gvzg88hinngiy7k-cmake-minimal-3.24.2/bin/cmake -E env 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-6532b8620000-x86_64-w64-mingw32/chronik CARGO_BUILD_RUSTC=/home/bitcoinabc/.rustup/toolchains/1.76.0-x86_64-unknown-linux-gnu/bin/rustc /home/bitcoinabc/.rustup/toolchains/1.76.0-x86_64-unknown-linux-gnu/bin/cargo rustc --lib --target=x86_64-pc-windows-gnu --package chronik_lib --manifest-path /bitcoin/chronik/chronik-lib/Cargo.toml --target-dir /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/./cargo/build --release --locked -- -Cdefault-linker-libraries=yes -Clink-args=--target=x86_64-w64-mingw32
warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
    Finished release [optimized] target(s) in 0.09s
[1/17] Preparing native build...
-- Looking for __builtin_clz
-- Looking for __builtin_clz - found
-- Looking for __builtin_clzl
-- Looking for __builtin_clzl - found
-- Looking for __builtin_clzll
-- Looking for __builtin_clzll - found
-- Looking for __builtin_popcount
-- Looking for __builtin_popcount - found
-- Looking for __builtin_saddll_overflow
-- Looking for __builtin_saddll_overflow - found
-- Looking for __builtin_ssubll_overflow
-- Looking for __builtin_ssubll_overflow - found
-- Configuring done
-- Generating done
-- Build files have been written to: /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/native
[2/17] Running utility command for _cargo-build_chronik_lib
[3/9] Building native src/secp256k1/gen_context
ninja: no work to do.
[5/9] Running symbol-check.py on bitcoin-cli...
FAILED: src/CMakeFiles/symbol-check-bitcoin-cli /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/CMakeFiles/symbol-check-bitcoin-cli 
cd /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src && /home/bitcoinabc/.guix-profile/bin/python3.10 /bitcoin/contrib/devtools/symbol-check.py /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/bitcoin-cli.exe
/bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/bitcoin-cli.exe: failed SUBSYSTEM_VERSION
[6/9] Running symbol-check.py on bitcoin-tx...
FAILED: src/CMakeFiles/symbol-check-bitcoin-tx /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/CMakeFiles/symbol-check-bitcoin-tx 
cd /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src && /home/bitcoinabc/.guix-profile/bin/python3.10 /bitcoin/contrib/devtools/symbol-check.py /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/bitcoin-tx.exe
/bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/bitcoin-tx.exe: failed SUBSYSTEM_VERSION
[7/9] Running symbol-check.py on bitcoin-wallet...
FAILED: src/CMakeFiles/symbol-check-bitcoin-wallet /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/CMakeFiles/symbol-check-bitcoin-wallet 
cd /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src && /home/bitcoinabc/.guix-profile/bin/python3.10 /bitcoin/contrib/devtools/symbol-check.py /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/bitcoin-wallet.exe
/bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/bitcoin-wallet.exe: failed SUBSYSTEM_VERSION
[8/9] Running symbol-check.py on bitcoind...
FAILED: src/CMakeFiles/symbol-check-bitcoind /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/CMakeFiles/symbol-check-bitcoind 
cd /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src && /home/bitcoinabc/.guix-profile/bin/python3.10 /bitcoin/contrib/devtools/symbol-check.py /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/bitcoind.exe
/bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/bitcoind.exe: failed SUBSYSTEM_VERSION
[9/9] Running symbol-check.py on bitcoin-qt...
FAILED: src/qt/CMakeFiles/symbol-check-bitcoin-qt /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/qt/CMakeFiles/symbol-check-bitcoin-qt 
cd /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/qt && /home/bitcoinabc/.guix-profile/bin/python3.10 /bitcoin/contrib/devtools/symbol-check.py /bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/qt/bitcoin-qt.exe
/bitcoin/distsrc-6532b8620000-x86_64-w64-mingw32/src/qt/bitcoin-qt.exe: failed SUBSYSTEM_VERSION
ninja: build stopped: subcommand failed.
Build guix-win failed with exit code 1

Rebase, add a release note

This would require to either manually edit the binary or switch to llvm-mingw in order to supply the __load_config_used structure (see https://sourceforge.net/p/mingw-w64/bugs/968/). Without this the app fails to start and raises an error 0xc00007b.