build: configure error related to boost:process when cross-compiling to windows #22319

issue jarolrod openend this issue on June 23, 2021
  1. jarolrod commented at 5:38 am on June 23, 2021: member

    When trying to cross-compile for Windows on Ubuntu 20.04.2 LTS I ran into the following configuration error:

    0checking for Boost Process... configure: error: Boost::Process is required for external signer support, but not available!
    

    Steps to reproduce:

    1. depends build for windows
      0 cd depends && make -jN HOST=x86_64-w64-mingw32
      
    2. After work is built, try to configure:
      0  cd .. && ./autogen.sh && CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure
      
    3. Run into configuration error

    System:

    • reproduced on VM with Ubuntu 20.04.2 LTS and desktop with Arch Linux
  2. jarolrod added the label Bug on Jun 23, 2021
  3. jarolrod commented at 5:39 am on June 23, 2021: member

    FWIW #22294 does not help

      0configure:27812: x86_64-w64-mingw32-g++ -std=c++17 -c -pipe -O2  -fno-extended-identifiers -I/home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/  -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -D_MT -DWIN32 -D_WINDOWS -D_WIN32_WINNT=0x0601 -D_WIN32_IE=0x0501 -DWIN32_LEAN_AND_MEAN -D_FILE_OFFSET_BITS=64 -DPROVIDE_FUZZ_MAIN_FUNCTION conftest.cpp >&5
      1In file included from /home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/windows/handles.hpp:11,
      2                 from /home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/used_handles.hpp:17,
      3                 from /home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/windows/async_in.hpp:20,
      4                 from /home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/async.hpp:49,
      5                 from /home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process.hpp:23,
      6                 from conftest.cpp:92:
      7/home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/windows/handle_workaround.hpp:208:51: error: expected ')' before '*' token
      8  208 | typedef ::boost::winapi::NTSTATUS_ (__kernel_entry *nt_system_query_information_p )(
      9      |                                    ~              ^~
     10      |                                                   )
     11/home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/windows/handle_workaround.hpp:223:51: error: expected ')' before '*' token
     12  223 | typedef ::boost::winapi::NTSTATUS_ (__kernel_entry *nt_query_object_p )(
     13      |                                    ~              ^~
     14      |                                                   )
     15/home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/windows/handle_workaround.hpp: In function 'boost::winapi::NTSTATUS_ boost::process::detail::windows::workaround::nt_system_query_information(boost::process::detail::windows::workaround::SYSTEM_INFORMATION_CLASS_, void*, boost::winapi::ULONG_, boost::winapi::PULONG_)':
     16/home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/windows/handle_workaround.hpp:239:12: error: 'nt_system_query_information_p' does not name a type; did you mean 'nt_system_query_information'?
     17  239 |     static nt_system_query_information_p f = reinterpret_cast<nt_system_query_information_p>(::boost::winapi::get_proc_address(h, "NtQuerySystemInformation"));
     18      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     19      |            nt_system_query_information
     20In file included from /home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/windows/handles.hpp:11,
     21                 from /home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/used_handles.hpp:17,
     22                 from /home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/windows/async_in.hpp:20,
     23                 from /home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/async.hpp:49,
     24                 from /home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process.hpp:23,
     25                 from conftest.cpp:92:
     26/home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/windows/handle_workaround.hpp:241:14: error: 'f' was not declared in this scope
     27  241 |     return (*f)(SystemInformationClass, SystemInformation, SystemInformationLength, ReturnLength);
     28      |              ^
     29/home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/windows/handle_workaround.hpp: In function 'boost::winapi::BOOL_ boost::process::detail::windows::workaround::nt_query_object(boost::winapi::HANDLE_, boost::process::detail::windows::workaround::OBJECT_INFORMATION_CLASS_, void*, boost::winapi::ULONG_, boost::winapi::PULONG_)':
     30/home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/windows/handle_workaround.hpp:253:12: error: 'nt_query_object_p' does not name a type; did you mean 'nt_query_object'?
     31  253 |     static nt_query_object_p f = reinterpret_cast<nt_query_object_p>(::boost::winapi::get_proc_address(h, "NtQueryObject"));
     32      |            ^~~~~~~~~~~~~~~~~
     33      |            nt_query_object
     34/home/xyz/Code/Bitcoin/temp/bitcoin/depends/x86_64-w64-mingw32/include/boost/process/detail/windows/handle_workaround.hpp:255:14: error: 'f' was not declared in this scope
     35  255 |     return (*f)(Handle, ObjectInformationClass, ObjectInformation, ObjectInformationLength, ReturnLength);
     36      |              ^
     37configure:27812: $? = 1
     38configure: failed program was:
     39| /* confdefs.h */
     40| #define PACKAGE_NAME "Bitcoin Core"
     41| #define PACKAGE_TARNAME "bitcoin"
     42| #define PACKAGE_VERSION "21.99.0"
     43| #define PACKAGE_STRING "Bitcoin Core 21.99.0"
     44| #define PACKAGE_BUGREPORT "https://github.com/bitcoin/bitcoin/issues"
     45| #define PACKAGE_URL "https://bitcoincore.org/"
     46| #define HAVE_CXX17 1
     47| #define STDC_HEADERS 1
     48| #define HAVE_SYS_TYPES_H 1
     49| #define HAVE_SYS_STAT_H 1
     50| #define HAVE_STDLIB_H 1
     51| #define HAVE_STRING_H 1
     52| #define HAVE_MEMORY_H 1
     53| #define HAVE_STRINGS_H 1
     54| #define HAVE_INTTYPES_H 1
     55| #define HAVE_STDINT_H 1
     56| #define HAVE_UNISTD_H 1
     57| #define LT_OBJDIR ".libs/"
     58| #define USE_ASM 1
     59| #define ENABLE_SSE41 1
     60| #define ENABLE_AVX2 1
     61| #define ENABLE_SHANI 1
     62| #define HAVE_LIBKERNEL32 1
     63| #define HAVE_LIBUSER32 1
     64| #define HAVE_LIBGDI32 1
     65| #define HAVE_LIBCOMDLG32 1
     66| #define HAVE_LIBWINMM 1
     67| #define HAVE_LIBSHELL32 1
     68| #define HAVE_LIBCOMCTL32 1
     69| #define HAVE_LIBOLE32 1
     70| #define HAVE_LIBOLEAUT32 1
     71| #define HAVE_LIBUUID 1
     72| #define HAVE_LIBADVAPI32 1
     73| #define HAVE_LIBWS2_32 1
     74| #define HAVE_LIBSHLWAPI 1
     75| #define HAVE_LIBIPHLPAPI 1
     76| #define HAVE___INT128 1
     77| #define HAVE_PTHREAD_PRIO_INHERIT 1
     78| #define HAVE_PTHREAD 1
     79| #define _FILE_OFFSET_BITS 64
     80| #define HAVE_DECL_STRERROR_R 0
     81| #define HAVE_LIBSSP 1
     82| #define HAVE_STDIO_H 1
     83| #define HAVE_STDLIB_H 1
     84| #define HAVE_UNISTD_H 1
     85| #define HAVE_STRINGS_H 1
     86| #define HAVE_SYS_TYPES_H 1
     87| #define HAVE_SYS_STAT_H 1
     88| #define HAVE_DECL_GETIFADDRS 0
     89| #define HAVE_DECL_FREEIFADDRS 0
     90| #define HAVE_DECL_STRNLEN 1
     91| #define HAVE_DECL_FORK 0
     92| #define HAVE_DECL_SETSID 0
     93| #define HAVE_DECL_PIPE2 0
     94| #define HAVE_DECL_LE16TOH 0
     95| #define HAVE_DECL_LE32TOH 0
     96| #define HAVE_DECL_LE64TOH 0
     97| #define HAVE_DECL_HTOLE16 0
     98| #define HAVE_DECL_HTOLE32 0
     99| #define HAVE_DECL_HTOLE64 0
    100| #define HAVE_DECL_BE16TOH 0
    101| #define HAVE_DECL_BE32TOH 0
    102| #define HAVE_DECL_BE64TOH 0
    103| #define HAVE_DECL_HTOBE16 0
    104| #define HAVE_DECL_HTOBE32 0
    105| #define HAVE_DECL_HTOBE64 0
    106| #define HAVE_DECL_BSWAP_16 0
    107| #define HAVE_DECL_BSWAP_32 0
    108| #define HAVE_DECL_BSWAP_64 0
    109| #define HAVE_BUILTIN_CLZL 1
    110| #define HAVE_BUILTIN_CLZLL 1
    111| #define HAVE_DEFAULT_VISIBILITY_ATTRIBUTE 1
    112| #define HAVE_DLLEXPORT_ATTRIBUTE 1
    113| #define HAVE_FDATASYNC 0
    114| #define HAVE_O_CLOEXEC 0
    115| #define HAVE_STD__SYSTEM 1
    116| #define HAVE_SYSTEM HAVE_STD__SYSTEM || HAVE_WSYSTEM
    117| #define QT_STATICPLUGIN 1
    118| #define QT_QPA_PLATFORM_MINIMAL 1
    119| #define QT_QPA_PLATFORM_WINDOWS 1
    120| #define USE_BDB 1
    121| #define USE_SQLITE 1
    122| #define HAVE_MINIUPNPC_MINIUPNPC_H 1
    123| #define HAVE_MINIUPNPC_UPNPCOMMANDS_H 1
    124| #define HAVE_MINIUPNPC_UPNPERRORS_H 1
    125| #define HAVE_NATPMP_H 1
    126| #define HAVE_BOOST /**/
    127| #define HAVE_BOOST_SYSTEM /**/
    128| #define HAVE_BOOST_FILESYSTEM /**/
    129| /* end confdefs.h.  */
    130| #include <boost/process.hpp>
    131| int
    132| main ()
    133| {
    134|  boost::process::child* child = new boost::process::child; delete child;
    135|   ;
    136|   return 0;
    137| }
    138configure:27820: error: Boost::Process is required for external signer support, but not available!
    
  4. jarolrod renamed this:
    build: configure error Boost:Process is required for external signer but not available
    build: configure error related to boost:process when cross-compiling to windows
    on Jun 23, 2021
  5. hebasto commented at 10:31 am on June 23, 2021: member
    Also gitian and guix builds for Windows are broken.
  6. fanquake closed this on Jun 24, 2021

  7. sidhujag referenced this in commit 82f2101bf7 on Jun 24, 2021
  8. DrahtBot locked this on Aug 18, 2022


jarolrod hebasto

Labels
Bug


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-19 12:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me