Skip to content

Conversation

fanquake
Copy link
Member

@fanquake fanquake commented Feb 9, 2022

Now that Carls fix for binutils and compressed debug sections has been
merged into Guix, point our time-machine to the latest commit on Guix
master. The Windows builds don't yet work with this change, but we are
now at the point of compiling our own code..

There must be a difference in the Guix environment, compared to, for
example, compiling using GCC 10.3 on Ubuntu Hirsute, which currently works.

Opening this PR for testing / discussion:

Making all in src
make[1]: Entering directory '/distsrc-base/distsrc-f6ff8d8604f6-x86_64-w64-mingw32/src'
make[2]: Entering directory '/distsrc-base/distsrc-f6ff8d8604f6-x86_64-w64-mingw32/src'
  CXX      bitcoind-bitcoind.o
  CXX      libbitcoin_node_a-addrdb.o
  CXX      libbitcoin_node_a-addrman.o
  CXX      libbitcoin_node_a-banman.o
  GEN      bitcoind-res.o
  CXX      libbitcoin_node_a-blockencodings.o
  CXX      libbitcoin_node_a-blockfilter.o
  CXX      libbitcoin_node_a-chain.o
  CXX      libbitcoin_node_a-dbwrapper.o
  CXX      libbitcoin_node_a-deploymentstatus.o
  CXX      libbitcoin_node_a-flatfile.o
  CXX      libbitcoin_node_a-httprpc.o
  CXX      libbitcoin_node_a-httpserver.o
  CXX      libbitcoin_node_a-i2p.o
  CXX      libbitcoin_node_a-init.o
  CXX      libbitcoin_node_a-mapport.o
  CXX      libbitcoin_node_a-net.o
  CXX      libbitcoin_node_a-net_processing.o
  CXX      libbitcoin_node_a-noui.o
  CXX      libbitcoin_node_a-pow.o
  CXX      libbitcoin_node_a-rest.o
  CXX      libbitcoin_node_a-shutdown.o
In file included from init.cpp:78:
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream: In instantiation of 'std::basic_ofstream<_CharT, _Traits>::basic_ofstream(const _Path&, std::ios_base::openmode) [with _Path = fs::path; _Require = fs::path; _CharT = char; _Traits = std::char_traits<char>; std::ios_base::openmode = std::ios_base::openmode]':
init.cpp:143:40:   required from here
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:844:38: error: no matching function for call to 'std::basic_ofstream<char>::basic_ofstream(const value_type*, std::ios_base::openmode&)'
  844 |  : basic_ofstream(__s.c_str(), __mode)
      |                                      ^
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:850:7: note: candidate: 'std::basic_ofstream<_CharT, _Traits>::basic_ofstream(std::basic_ofstream<_CharT, _Traits>&&) [with _CharT = char; _Traits = std::char_traits<char>]'
  850 |       basic_ofstream(basic_ofstream&& __rhs)
      |       ^~~~~~~~~~~~~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:850:7: note:   candidate expects 1 argument, 2 provided
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:842:2: note: candidate: 'template<class _Path, class _Require> std::basic_ofstream<_CharT, _Traits>::basic_ofstream(const _Path&, std::ios_base::openmode) [with _Path = _Path; _Require = _Require; _CharT = char; _Traits = std::char_traits<char>]'
  842 |  basic_ofstream(const _Path& __s,
      |  ^~~~~~~~~~~~~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:842:2: note:   template argument deduction/substitution failed:
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:841:32: error: request for member 'make_preferred' in 'std::declval<const wchar_t*&>()', which is of non-class type 'const wchar_t*'
  841 |       template<typename _Path, typename _Require = _If_fs_path<_Path>>
      |                                ^~~~~~~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:825:7: note: candidate: 'std::basic_ofstream<_CharT, _Traits>::basic_ofstream(const string&, std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; std::string = std::__cxx11::basic_string<char>; std::ios_base::openmode = std::ios_base::openmode]'
  825 |       basic_ofstream(const std::string& __s,
      |       ^~~~~~~~~~~~~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:825:41: note:   no known conversion for argument 1 from 'const value_type*' {aka 'const wchar_t*'} to 'const string&' {aka 'const std::__cxx11::basic_string<char>&'}
  825 |       basic_ofstream(const std::string& __s,
      |                      ~~~~~~~~~~~~~~~~~~~^~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:790:7: note: candidate: 'std::basic_ofstream<_CharT, _Traits>::basic_ofstream(const char*, std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; std::ios_base::openmode = std::ios_base::openmode]'
  790 |       basic_ofstream(const char* __s,
      |       ^~~~~~~~~~~~~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:790:34: note:   no known conversion for argument 1 from 'const value_type*' {aka 'const wchar_t*'} to 'const char*'
  790 |       basic_ofstream(const char* __s,
      |                      ~~~~~~~~~~~~^~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:779:7: note: candidate: 'std::basic_ofstream<_CharT, _Traits>::basic_ofstream() [with _CharT = char; _Traits = std::char_traits<char>]'
  779 |       basic_ofstream(): __ostream_type(), _M_filebuf()
      |       ^~~~~~~~~~~~~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:779:7: note:   candidate expects 0 arguments, 2 provided
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:844:38: error: no matching function for call to 'std::basic_ofstream<char>::basic_ofstream(const value_type*, std::ios_base::openmode&)'
  844 |  : basic_ofstream(__s.c_str(), __mode)
      |                                      ^
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:850:7: note: candidate: 'std::basic_ofstream<_CharT, _Traits>::basic_ofstream(std::basic_ofstream<_CharT, _Traits>&&) [with _CharT = char; _Traits = std::char_traits<char>]'
  850 |       basic_ofstream(basic_ofstream&& __rhs)
      |       ^~~~~~~~~~~~~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:850:7: note:   candidate expects 1 argument, 2 provided
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:842:2: note: candidate: 'template<class _Path, class _Require> std::basic_ofstream<_CharT, _Traits>::basic_ofstream(const _Path&, std::ios_base::openmode) [with _Path = _Path; _Require = _Require; _CharT = char; _Traits = std::char_traits<char>]'
  842 |  basic_ofstream(const _Path& __s,
      |  ^~~~~~~~~~~~~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:842:2: note:   template argument deduction/substitution failed:
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:841:32: error: request for member 'make_preferred' in 'std::declval<const wchar_t*&>()', which is of non-class type 'const wchar_t*'
  841 |       template<typename _Path, typename _Require = _If_fs_path<_Path>>
      |                                ^~~~~~~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:825:7: note: candidate: 'std::basic_ofstream<_CharT, _Traits>::basic_ofstream(const string&, std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; std::string = std::__cxx11::basic_string<char>; std::ios_base::openmode = std::ios_base::openmode]'
  825 |       basic_ofstream(const std::string& __s,
      |       ^~~~~~~~~~~~~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:825:41: note:   no known conversion for argument 1 from 'const value_type*' {aka 'const wchar_t*'} to 'const string&' {aka 'const std::__cxx11::basic_string<char>&'}
  825 |       basic_ofstream(const std::string& __s,
      |                      ~~~~~~~~~~~~~~~~~~~^~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:790:7: note: candidate: 'std::basic_ofstream<_CharT, _Traits>::basic_ofstream(const char*, std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; std::ios_base::openmode = std::ios_base::openmode]'
  790 |       basic_ofstream(const char* __s,
      |       ^~~~~~~~~~~~~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:790:34: note:   no known conversion for argument 1 from 'const value_type*' {aka 'const wchar_t*'} to 'const char*'
  790 |       basic_ofstream(const char* __s,
      |                      ~~~~~~~~~~~~^~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:779:7: note: candidate: 'std::basic_ofstream<_CharT, _Traits>::basic_ofstream() [with _CharT = char; _Traits = std::char_traits<char>]'
  779 |       basic_ofstream(): __ostream_type(), _M_filebuf()
      |       ^~~~~~~~~~~~~~
/gnu/store/k3bs5211ca8hy7hzkj83caiakmj3sh36-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++/fstream:779:7: note:   candidate expects 0 arguments, 2 provided
  CXX      libbitcoin_node_a-signet.o
  CXX      libbitcoin_node_a-timedata.o
  CXX      libbitcoin_node_a-torcontrol.o
  CXX      libbitcoin_node_a-txdb.o
make[2]: *** [Makefile:9653: libbitcoin_node_a-init.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/distsrc-base/distsrc-f6ff8d8604f6-x86_64-w64-mingw32/src'
make[1]: *** [Makefile:17461: all-recursive] Error 1
make[1]: Leaving directory '/distsrc-base/distsrc-f6ff8d8604f6-x86_64-w64-mingw32/src'
make: *** [Makefile:816: all-recursive] Error 1

Related to #24055.

Now that Carls fix for binutils and compressed debug sections when
targetting windows has been merged into Guix, point our time-machine
to the latest commit on Guix master.

Related to bitcoin#24055.
@hebasto
Copy link
Member

hebasto commented Feb 9, 2022

Yesterday I was building against 4be896d6e0d322b3f5b514c8a2811efcd6a31606 Guix commit, and have got the same error.

The weirdest part of the error message is

... error: request for member 'make_preferred' in 'std::declval<const wchar_t*&>()', which is of non-class type 'const wchar_t*'

Friendly ping @dongcarl @ryanofsky

@ryanofsky
Copy link
Contributor

Fanquake's error seems to come from this line (based on init.cpp:143:40: required from here)

std::ofstream file{GetPidFile(args)};

Which happens for the reason we are familiar with that std::fstream does not like fs::path objects

I'm not sure about the other make_preferred error. The place I see us calling that is

"Wrote UTXO snapshot to " << fs::PathToString(snapshot_path.make_preferred()) << ": " << result.write());

which looks ok to me

@maflcko
Copy link
Member

maflcko commented Feb 9, 2022

So I guess the solution will be to partially revert fs? That is: std::ofstream -> fs::ofstream.

@hebasto
Copy link
Member

hebasto commented Feb 9, 2022

So I guess the solution will be to partially revert fs? That is: std::ofstream -> fs::ofstream.

FWIW, I've tried such approaches in some variants without success..

@maflcko
Copy link
Member

maflcko commented Feb 9, 2022

Is there any way to reproduce this outside of guix?

@dongcarl
Copy link
Contributor

dongcarl commented Feb 9, 2022

@hebasto
Copy link
Member

hebasto commented Feb 10, 2022

I've made some investigations. The error does not caused by our fs::path class. A similar error happens when using pure std::filesystem::path.

I'm not sure about the other make_preferred error.

It happens during template argument substitution in typename _Require = _If_fs_path<_Path>.

@hebasto
Copy link
Member

hebasto commented Feb 11, 2022

FWIW, in Guix environment the _GLIBCXX_HAVE__WFOPEN macro is undefined.

@hebasto
Copy link
Member

hebasto commented Feb 11, 2022

@dongcarl

Might it be because of: https://salsa.debian.org/mingw-w64-team/gcc-mingw-w64/-/blob/2ee26ff4f275384aa6173ada884929db4d2f1bbf/debian/rules#L228

I've verified this assumption.

Indeed, in Guix environment the _GLIBCXX_FULLY_DYNAMIC_STRING macro is defined to 0 which differs from non-Guix environment where it is defined to 1.

The following patch:

--- a/contrib/guix/manifest.scm
+++ b/contrib/guix/manifest.scm
@@ -160,7 +160,7 @@ desirable for building Bitcoin Core release binaries."
                         base-gcc))
 
 (define (make-gcc-with-pthreads gcc)
-  (package-with-extra-configure-variable gcc "--enable-threads" "posix"))
+  (package-with-extra-configure-variable (package-with-extra-configure-variable gcc "--enable-fully-dynamic-string" "yes") "--enable-threads" "posix"))
 
 (define (make-mingw-pthreads-cross-toolchain target)
   "Create a cross-compilation toolchain package for TARGET"

makes _GLIBCXX_FULLY_DYNAMIC_STRING defined to 1, but the error still exists, unfortunately.

@dongcarl
Copy link
Contributor

dongcarl commented Feb 12, 2022

Okay leaving a comment here for myself and anyone else who wants to dive in: it seems that _GLIBCXX_FULLY_DYNAMIC_STRING doesn't really affect this much.

What does affect it is _GLIBCXX_HAVE__WFOPEN, which is undefined in the Guix environment and defined in the Ubuntu Impish environment. Despite its name it actually affects open and the *fstream constructors, so would match the errors we're seeing. No --enable-wchar_t=yes does not solve this.

Additional info:

How I debug the Guix env:

diff --git a/contrib/guix/libexec/build.sh b/contrib/guix/libexec/build.sh
index e06a469338..d7fc617fdd 100755
--- a/contrib/guix/libexec/build.sh
+++ b/contrib/guix/libexec/build.sh
@@ -274,6 +274,8 @@ case "$HOST" in
     powerpc64-linux-*|riscv64-linux-*) HOST_LDFLAGS="${HOST_LDFLAGS} -Wl,-z,noexecstack" ;;
 esac

+bash; exit 1
+
 # Make $HOST-specific native binaries from depends available in $PATH
 export PATH="${BASEPREFIX}/${HOST}/native/bin:${PATH}"
 mkdir -p "$DISTSRC"

Reproducer:

#include <filesystem>
#include <fstream>

namespace fs = std::filesystem;

int main() {
    fs::path p = "./what";
    std::ofstream file{p};
    return 0;
}

Alt reproducer:
(because if (5) works here then we shouldn't need wchar, so let's be specific)

#include <filesystem>
#include <fstream>

namespace fs = std::filesystem;

int main() {
    wchar_t p[] {L"./what"};
    std::ofstream file{p};
    return 0;
}

Compile with:

$ x86_64-w64-mingw32-g++ -std=c++17 test.cpp

In impish docker:

# x86_64-w64-mingw32-nm -C a.exe | grep stream
00000000004015d8 T std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(wchar_t const*, std::_Ios_Openmode)
00000000004015d0 T std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()
00000000004082d8 I __imp__ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKwSt13_Ios_Openmode
00000000004082e0 I __imp__ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev

@hebasto
Copy link
Member

hebasto commented Feb 12, 2022

FWIW, in Guix environment the _GLIBCXX_HAVE__WFOPEN macro is undefined.

What does affect it is _GLIBCXX_HAVE__WFOPEN, which is undefined in the Guix environment and defined in the Ubuntu Impish environment. Despite its name it actually affects open and the *fstream constructors, so would match the errors we're seeing.

Are mingw headers available at this point https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libstdc++-v3/crossconfig.m4;h=fe1828835368dd5c2c16a20cf4abc52739e52f30;hb=f00b5710a30f22efc3171c393e56aeb335c3cd39#l200:

    AC_CHECK_FUNCS(_wfopen)

?

@bitcoin bitcoin deleted a comment from Meru852 Feb 13, 2022
@hebasto
Copy link
Member

hebasto commented Feb 14, 2022

After further investigation, I suspect the following option:

                             '("--with-newlib")

I was trying:

--- a/contrib/guix/manifest.scm
+++ b/contrib/guix/manifest.scm
@@ -160,7 +160,7 @@ desirable for building Bitcoin Core release binaries."
                         base-gcc))
 
 (define (make-gcc-with-pthreads gcc)
-  (package-with-extra-configure-variable gcc "--enable-threads" "posix"))
+  (package-with-extra-configure-variable (package-with-extra-configure-variable gcc "--with-newlib" "no") "--enable-threads" "posix"))
 
 (define (make-mingw-pthreads-cross-toolchain target)
   "Create a cross-compilation toolchain package for TARGET"

but it fails because --with-newlib actually overrides my custom option:

configure flags: ("CONFIG_SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash" "SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash" "--prefix=/gnu/store/byrh6d5ldyx0i80a39l2q9mns0cd4vp2-gcc-cross-x86_64-w64-mingw32-10.3.0" "--enable-fast-install" "--libdir=/gnu/store/wxjzjz3pajgknmfvj3mg9fvx3l99wmla-gcc-cross-x86_64-w64-mingw32-10.3.0-lib/lib" "--includedir=/gnu/store/wxjzjz3pajgknmfvj3mg9fvx3l99wmla-gcc-cross-x86_64-w64-mingw32-10.3.0-lib/include" "--build=x86_64-unknown-linux-gnu" "--enable-threads=posix" "--with-newlib=no" "--target=x86_64-w64-mingw32" "--disable-libcilkrts" "--with-sysroot=/" "--with-toolexeclibdir=/gnu/store/wxjzjz3pajgknmfvj3mg9fvx3l99wmla-gcc-cross-x86_64-w64-mingw32-10.3.0-lib/x86_64-w64-mingw32/lib" "--with-newlib" "--enable-plugin" "--enable-languages=c,c++" "--disable-multilib" "--with-system-zlib" "--disable-libstdcxx-pch" "--with-local-prefix=/no-gcc-local-prefix" "--with-gxx-include-dir=/gnu/store/byrh6d5ldyx0i80a39l2q9mns0cd4vp2-gcc-cross-x86_64-w64-mingw32-10.3.0/include/c++" "--with-native-system-header-dir=/gnu/store/39m4gjy9dn18r6vcka1iyvl0979zwnv8-mingw-w64-x86_64-winpthreads-8.0.0/include" "CC_FOR_TARGET=x86_64-w64-mingw32-gcc" "CXX_FOR_TARGET=x86_64-w64-mingw32-g++" "LD_FOR_TARGET=x86_64-w64-mingw32-ld" "AR_FOR_TARGET=x86_64-w64-mingw32-ar" "NM_FOR_TARGET=x86_64-w64-mingw32-nm" "OBJDUMP_FOR_TARGET=x86_64-w64-mingw32-objdump" "RANLIB_FOR_TARGET=x86_64-w64-mingw32-ranlib" "STRIP_FOR_TARGET=x86_64-w64-mingw32-strip")

@dongcarl What is the correct way to build with --without-newlib option?

@hebasto
Copy link
Member

hebasto commented Feb 15, 2022

After further investigation, I suspect the following option:

                             '("--with-newlib")

A solution suggested in #24348.

@fanquake
Copy link
Member Author

Let's continue discussion in #24348 for now.

@fanquake fanquake closed this Feb 15, 2022
@fanquake fanquake deleted the reenable_win_guix branch February 15, 2022 12:04
fanquake added a commit to bitcoin-core/gui that referenced this pull request Feb 17, 2022
…pt 2)

b3617a9 build: Point Guix to recent commit on the master branch (Hennadii Stepanov)
7f2f35f build: Fix gcc-cross-x86_64-w64-mingw32-10.3.0 in Guix (Hennadii Stepanov)

Pull request description:

  Fixes bitcoin/bitcoin#24055.
  Replaces bitcoin/bitcoin#24300.

  #### Guix builds:
  ```
  $ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  d807189a8b5721892395968a86acd47f0cff2c7e76e75e6e927045ba339ba1dc  guix-build-b3617a99c141/output/aarch64-linux-gnu/SHA256SUMS.part
  a1c89935c5d5c57df428a360168944d1be83fc00324a903a0a68c284fa4d71cf  guix-build-b3617a99c141/output/aarch64-linux-gnu/bitcoin-b3617a99c141-aarch64-linux-gnu-debug.tar.gz
  2936adc6d4425f297c2eee310fa8a90b51209289474d10a5a320346c9b4fb90a  guix-build-b3617a99c141/output/aarch64-linux-gnu/bitcoin-b3617a99c141-aarch64-linux-gnu.tar.gz
  10420ef9e7001f7dbe009261925db81ee94764bb42514f28d0aa429de37c81d6  guix-build-b3617a99c141/output/arm-linux-gnueabihf/SHA256SUMS.part
  00b762833139e0d7b470570e30dfe10c427f78a5bd498207b8750695b307fcfe  guix-build-b3617a99c141/output/arm-linux-gnueabihf/bitcoin-b3617a99c141-arm-linux-gnueabihf-debug.tar.gz
  2084c431e262a49cf18a2346e1465f73ccb8c320cfda3aa918439f371c1fec9c  guix-build-b3617a99c141/output/arm-linux-gnueabihf/bitcoin-b3617a99c141-arm-linux-gnueabihf.tar.gz
  752b769cbee5b04a4ae1fff0db5d8521b76df68e20c966bad141e9c65de3d196  guix-build-b3617a99c141/output/arm64-apple-darwin/SHA256SUMS.part
  708a39f525ea225cce71d53120df411c808a5f5a29e9c3498646ab7e5d5ab14d  guix-build-b3617a99c141/output/arm64-apple-darwin/bitcoin-b3617a99c141-arm64-apple-darwin.tar.gz
  cc60ed18529d0656feb87189c69f2fbe048b2b37ac11952d9290dd0f8576ea97  guix-build-b3617a99c141/output/arm64-apple-darwin/bitcoin-b3617a99c141-osx-unsigned.dmg
  5e10d7f0ab7352995ceb7959b5b371615e06904f9a857d59229dd5e1b7f5825e  guix-build-b3617a99c141/output/arm64-apple-darwin/bitcoin-b3617a99c141-osx-unsigned.tar.gz
  b44e8a11279d3fe29cc4d72f3ac1b3da1f11608636b4a9c8653272bf6be5ed92  guix-build-b3617a99c141/output/dist-archive/bitcoin-b3617a99c141.tar.gz
  c467e2371a88fd2fbcd98c9413f47f1ddc81183ac9f0674182a7af208df18e31  guix-build-b3617a99c141/output/powerpc64-linux-gnu/SHA256SUMS.part
  2de931fe54aaf6fdaac9aa2595d7f4901eeba80ab1185249c2bc2141318a9811  guix-build-b3617a99c141/output/powerpc64-linux-gnu/bitcoin-b3617a99c141-powerpc64-linux-gnu-debug.tar.gz
  2d2cf5236d41d9dbe2480e19a94107c726dce3c52bfa8672e3f41ada7a8acd61  guix-build-b3617a99c141/output/powerpc64-linux-gnu/bitcoin-b3617a99c141-powerpc64-linux-gnu.tar.gz
  2815de278610cc7aa3d365af3834ed77e49cf6695dc9e2ffdbc3ccd6cc8362fc  guix-build-b3617a99c141/output/powerpc64le-linux-gnu/SHA256SUMS.part
  fd13b01363a44c03dd52b1193b2690efdaa358c2bcdc31c43e83c96e06c2bc05  guix-build-b3617a99c141/output/powerpc64le-linux-gnu/bitcoin-b3617a99c141-powerpc64le-linux-gnu-debug.tar.gz
  796bd23f314e6edb429d893e7ffafc7c4d6b51c0febe1faaa192085435aeb0bb  guix-build-b3617a99c141/output/powerpc64le-linux-gnu/bitcoin-b3617a99c141-powerpc64le-linux-gnu.tar.gz
  c1e449e6ac3e78682d613d8bcebf97bce5ed69a865cfdc939cf6d290a3a5c7ef  guix-build-b3617a99c141/output/riscv64-linux-gnu/SHA256SUMS.part
  c3e6380e81229779ad60fa1c1fa856d6af46c1cab9a87abe296694be0b42b405  guix-build-b3617a99c141/output/riscv64-linux-gnu/bitcoin-b3617a99c141-riscv64-linux-gnu-debug.tar.gz
  1351e7755ace57cdbcb66f2673733f31d3b90063e414a0eeb1f0c71b19ca3b88  guix-build-b3617a99c141/output/riscv64-linux-gnu/bitcoin-b3617a99c141-riscv64-linux-gnu.tar.gz
  1af14acc6e7210286d09618e9e43b93707540eac9ee48226a6a2d69ab10dfe24  guix-build-b3617a99c141/output/x86_64-apple-darwin/SHA256SUMS.part
  e76b872e075604916ad60fa50989bba81080ecad9a12e8793a2628713bc816fd  guix-build-b3617a99c141/output/x86_64-apple-darwin/bitcoin-b3617a99c141-osx-unsigned.dmg
  2755d5766efc86f360909b01206e4594f5049e7aed17bc8ba3781a375acc28cf  guix-build-b3617a99c141/output/x86_64-apple-darwin/bitcoin-b3617a99c141-osx-unsigned.tar.gz
  335a08ee376c51692e9e24f4dd0a71fc24af2b15f3acd4ef2881ecb882fc708f  guix-build-b3617a99c141/output/x86_64-apple-darwin/bitcoin-b3617a99c141-osx64.tar.gz
  0ed78a1a1e22e8d20de9aeff052f57f0ada1eb536d541d28318223120610614b  guix-build-b3617a99c141/output/x86_64-linux-gnu/SHA256SUMS.part
  d07dfb39d9fd65ed2514eae7697a25f43ece18efdd1255a592feb0e6eb0510e4  guix-build-b3617a99c141/output/x86_64-linux-gnu/bitcoin-b3617a99c141-x86_64-linux-gnu-debug.tar.gz
  c427792751e83edbc48a4ed05278b70d888b957b77d8e7d9e298da47d2351bab  guix-build-b3617a99c141/output/x86_64-linux-gnu/bitcoin-b3617a99c141-x86_64-linux-gnu.tar.gz
  f24d5d065cebd214a948600adc97cdc1535ad3411e07ec66d3af2007586518e9  guix-build-b3617a99c141/output/x86_64-w64-mingw32/SHA256SUMS.part
  de196c52b6767a84c36d0d8c304ad46060dfd27accbc0812dd29600449385ab2  guix-build-b3617a99c141/output/x86_64-w64-mingw32/bitcoin-b3617a99c141-win-unsigned.tar.gz
  f6795755776c06fcc42482f2aaeedc0d45f11396a7766423bc8ee408feb203b8  guix-build-b3617a99c141/output/x86_64-w64-mingw32/bitcoin-b3617a99c141-win64-debug.zip
  76e75bb47277ae9f4a1b3116f98a91ed7291705c6c87456d9fa10a98448818d3  guix-build-b3617a99c141/output/x86_64-w64-mingw32/bitcoin-b3617a99c141-win64-setup-unsigned.exe
  615cb51c1536ff809025a580e3542da5eba02041676a37a21dbe11e1ac5f97c2  guix-build-b3617a99c141/output/x86_64-w64-mingw32/bitcoin-b3617a99c141-win64.zip
  ```

ACKs for top commit:
  laanwj:
    In any case I'm pretty happy with this solution. Code review and lightly tested ACK b3617a9
  fanquake:
    ACK b3617a9 - thanks Carl for following up upstream.

Tree-SHA512: 9621cadcf5ce75142eeec97e9b5dabe36e3b9f39b4c58c1088f2341d3a6a66b1d1351c80c508b82a1587380d3b3ec6274453ccf0542ffa336da3b31ba8ef16a5
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Feb 18, 2022
b3617a9 build: Point Guix to recent commit on the master branch (Hennadii Stepanov)
7f2f35f build: Fix gcc-cross-x86_64-w64-mingw32-10.3.0 in Guix (Hennadii Stepanov)

Pull request description:

  Fixes bitcoin#24055.
  Replaces bitcoin#24300.

  #### Guix builds:
  ```
  $ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  d807189a8b5721892395968a86acd47f0cff2c7e76e75e6e927045ba339ba1dc  guix-build-b3617a99c141/output/aarch64-linux-gnu/SHA256SUMS.part
  a1c89935c5d5c57df428a360168944d1be83fc00324a903a0a68c284fa4d71cf  guix-build-b3617a99c141/output/aarch64-linux-gnu/bitcoin-b3617a99c141-aarch64-linux-gnu-debug.tar.gz
  2936adc6d4425f297c2eee310fa8a90b51209289474d10a5a320346c9b4fb90a  guix-build-b3617a99c141/output/aarch64-linux-gnu/bitcoin-b3617a99c141-aarch64-linux-gnu.tar.gz
  10420ef9e7001f7dbe009261925db81ee94764bb42514f28d0aa429de37c81d6  guix-build-b3617a99c141/output/arm-linux-gnueabihf/SHA256SUMS.part
  00b762833139e0d7b470570e30dfe10c427f78a5bd498207b8750695b307fcfe  guix-build-b3617a99c141/output/arm-linux-gnueabihf/bitcoin-b3617a99c141-arm-linux-gnueabihf-debug.tar.gz
  2084c431e262a49cf18a2346e1465f73ccb8c320cfda3aa918439f371c1fec9c  guix-build-b3617a99c141/output/arm-linux-gnueabihf/bitcoin-b3617a99c141-arm-linux-gnueabihf.tar.gz
  752b769cbee5b04a4ae1fff0db5d8521b76df68e20c966bad141e9c65de3d196  guix-build-b3617a99c141/output/arm64-apple-darwin/SHA256SUMS.part
  708a39f525ea225cce71d53120df411c808a5f5a29e9c3498646ab7e5d5ab14d  guix-build-b3617a99c141/output/arm64-apple-darwin/bitcoin-b3617a99c141-arm64-apple-darwin.tar.gz
  cc60ed18529d0656feb87189c69f2fbe048b2b37ac11952d9290dd0f8576ea97  guix-build-b3617a99c141/output/arm64-apple-darwin/bitcoin-b3617a99c141-osx-unsigned.dmg
  5e10d7f0ab7352995ceb7959b5b371615e06904f9a857d59229dd5e1b7f5825e  guix-build-b3617a99c141/output/arm64-apple-darwin/bitcoin-b3617a99c141-osx-unsigned.tar.gz
  b44e8a11279d3fe29cc4d72f3ac1b3da1f11608636b4a9c8653272bf6be5ed92  guix-build-b3617a99c141/output/dist-archive/bitcoin-b3617a99c141.tar.gz
  c467e2371a88fd2fbcd98c9413f47f1ddc81183ac9f0674182a7af208df18e31  guix-build-b3617a99c141/output/powerpc64-linux-gnu/SHA256SUMS.part
  2de931fe54aaf6fdaac9aa2595d7f4901eeba80ab1185249c2bc2141318a9811  guix-build-b3617a99c141/output/powerpc64-linux-gnu/bitcoin-b3617a99c141-powerpc64-linux-gnu-debug.tar.gz
  2d2cf5236d41d9dbe2480e19a94107c726dce3c52bfa8672e3f41ada7a8acd61  guix-build-b3617a99c141/output/powerpc64-linux-gnu/bitcoin-b3617a99c141-powerpc64-linux-gnu.tar.gz
  2815de278610cc7aa3d365af3834ed77e49cf6695dc9e2ffdbc3ccd6cc8362fc  guix-build-b3617a99c141/output/powerpc64le-linux-gnu/SHA256SUMS.part
  fd13b01363a44c03dd52b1193b2690efdaa358c2bcdc31c43e83c96e06c2bc05  guix-build-b3617a99c141/output/powerpc64le-linux-gnu/bitcoin-b3617a99c141-powerpc64le-linux-gnu-debug.tar.gz
  796bd23f314e6edb429d893e7ffafc7c4d6b51c0febe1faaa192085435aeb0bb  guix-build-b3617a99c141/output/powerpc64le-linux-gnu/bitcoin-b3617a99c141-powerpc64le-linux-gnu.tar.gz
  c1e449e6ac3e78682d613d8bcebf97bce5ed69a865cfdc939cf6d290a3a5c7ef  guix-build-b3617a99c141/output/riscv64-linux-gnu/SHA256SUMS.part
  c3e6380e81229779ad60fa1c1fa856d6af46c1cab9a87abe296694be0b42b405  guix-build-b3617a99c141/output/riscv64-linux-gnu/bitcoin-b3617a99c141-riscv64-linux-gnu-debug.tar.gz
  1351e7755ace57cdbcb66f2673733f31d3b90063e414a0eeb1f0c71b19ca3b88  guix-build-b3617a99c141/output/riscv64-linux-gnu/bitcoin-b3617a99c141-riscv64-linux-gnu.tar.gz
  1af14acc6e7210286d09618e9e43b93707540eac9ee48226a6a2d69ab10dfe24  guix-build-b3617a99c141/output/x86_64-apple-darwin/SHA256SUMS.part
  e76b872e075604916ad60fa50989bba81080ecad9a12e8793a2628713bc816fd  guix-build-b3617a99c141/output/x86_64-apple-darwin/bitcoin-b3617a99c141-osx-unsigned.dmg
  2755d5766efc86f360909b01206e4594f5049e7aed17bc8ba3781a375acc28cf  guix-build-b3617a99c141/output/x86_64-apple-darwin/bitcoin-b3617a99c141-osx-unsigned.tar.gz
  335a08ee376c51692e9e24f4dd0a71fc24af2b15f3acd4ef2881ecb882fc708f  guix-build-b3617a99c141/output/x86_64-apple-darwin/bitcoin-b3617a99c141-osx64.tar.gz
  0ed78a1a1e22e8d20de9aeff052f57f0ada1eb536d541d28318223120610614b  guix-build-b3617a99c141/output/x86_64-linux-gnu/SHA256SUMS.part
  d07dfb39d9fd65ed2514eae7697a25f43ece18efdd1255a592feb0e6eb0510e4  guix-build-b3617a99c141/output/x86_64-linux-gnu/bitcoin-b3617a99c141-x86_64-linux-gnu-debug.tar.gz
  c427792751e83edbc48a4ed05278b70d888b957b77d8e7d9e298da47d2351bab  guix-build-b3617a99c141/output/x86_64-linux-gnu/bitcoin-b3617a99c141-x86_64-linux-gnu.tar.gz
  f24d5d065cebd214a948600adc97cdc1535ad3411e07ec66d3af2007586518e9  guix-build-b3617a99c141/output/x86_64-w64-mingw32/SHA256SUMS.part
  de196c52b6767a84c36d0d8c304ad46060dfd27accbc0812dd29600449385ab2  guix-build-b3617a99c141/output/x86_64-w64-mingw32/bitcoin-b3617a99c141-win-unsigned.tar.gz
  f6795755776c06fcc42482f2aaeedc0d45f11396a7766423bc8ee408feb203b8  guix-build-b3617a99c141/output/x86_64-w64-mingw32/bitcoin-b3617a99c141-win64-debug.zip
  76e75bb47277ae9f4a1b3116f98a91ed7291705c6c87456d9fa10a98448818d3  guix-build-b3617a99c141/output/x86_64-w64-mingw32/bitcoin-b3617a99c141-win64-setup-unsigned.exe
  615cb51c1536ff809025a580e3542da5eba02041676a37a21dbe11e1ac5f97c2  guix-build-b3617a99c141/output/x86_64-w64-mingw32/bitcoin-b3617a99c141-win64.zip
  ```

ACKs for top commit:
  laanwj:
    In any case I'm pretty happy with this solution. Code review and lightly tested ACK b3617a9
  fanquake:
    ACK b3617a9 - thanks Carl for following up upstream.

Tree-SHA512: 9621cadcf5ce75142eeec97e9b5dabe36e3b9f39b4c58c1088f2341d3a6a66b1d1351c80c508b82a1587380d3b3ec6274453ccf0542ffa336da3b31ba8ef16a5
@bitcoin bitcoin locked and limited conversation to collaborators Feb 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants