libbitcoin / libbitcoin-system

Bitcoin Cross-Platform C++ Development Toolkit

Home Page:https://libbitcoin.info/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

C++20 detection may be broken?

LEOcab opened this issue · comments

I'm failing to compile libbitcoin. I tried with two different versions of gcc (one for Linux and a mingw-w16 cross compiler for Windows) and they both fail with the exact same error:

checking pkg-config is at least version 0.9.0... yes
checking whether /usr/bin/i686-w64-mingw32-g++ supports C++20 features with -std=c++20... no
checking whether /usr/bin/i686-w64-mingw32-g++ supports C++20 features with +std=c++20... no
checking whether /usr/bin/i686-w64-mingw32-g++ supports C++20 features with -h std=c++20... no
configure: error: *** A compiler with support for C++20 language features is required.

Compiling random code files with -stdc++20 works fine with both compilers. Can somebody please look into this? I've been banging my head all day trying to compile this thing for either Windows or Linux, I don't care which at this point as long as I can write code for libbitcoin in gcc

@LEOcab - the check you're referencing is performed via the standardized AX_CXX_COMPILE_STDCXX macro for autotools and the pair of set( CMAKE_CXX_STANDARD 20 ) and set( CMAKE_CXX_STANDARD_REQUIRED ON ) for cmake. These macro appear to work correctly on linux and macOS and have been reliable within the github actions system.

It's unclear to me which versions of compiler you're utilizing. Our CI tests are performed with clang version 14 and gcc version 11 as far as I'm aware. If you'd like further assistance, please provide additional details.

ChatGPT said if I compile something with -std=c++20 and it works then the compiler has C++20... guess she was wrong. I only have GCC 10.

What Linux distro are you running by chance? I have no clue how to rebuild gcc from scratch so I'll just have to go in a virtual machine with whatever distro you use

I found Fedora 38 has a more recent toolset so I'm using that now. I've gotten the furthest with it thus far - it gets past both the boost checks and the C++20 checks.

Now I'm stuck dealing with libsecp256k1. I managed to compile it and install it successfully but libbitcoin can't seem to find it.

Here are the commands I used to compile libsecp256k1 for Windows:

CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ ./autogen.sh

CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ ./configure --host=x86_64-w64-mingw32 --build=x86_64-linux-gnu

CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ make

CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ make install

Here's the output of the last command so you can see it worked:

[leo@localhost-live secp256k1-master]$ sudo CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ make install
[sudo] password for leo: 
make[1]: Entering directory '/home/leo/.local/share/Trash/files/secp256k1-master'
 /usr/bin/mkdir -p '/usr/local/lib'
 /bin/sh ./libtool   --mode=install /usr/bin/install -c   libsecp256k1.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libsecp256k1.lai /usr/local/lib/libsecp256k1.la
libtool: install: /usr/bin/install -c .libs/libsecp256k1.a /usr/local/lib/libsecp256k1.a
libtool: install: chmod 644 /usr/local/lib/libsecp256k1.a
libtool: install: /usr/bin/x86_64-w64-mingw32-ranlib /usr/local/lib/libsecp256k1.a
 /usr/bin/mkdir -p '/usr/local/include'
 /usr/bin/install -c -m 644 include/secp256k1.h include/secp256k1_preallocated.h '/usr/local/include'
 /usr/bin/mkdir -p '/usr/local/lib/pkgconfig'
 /usr/bin/install -c -m 644 libsecp256k1.pc '/usr/local/lib/pkgconfig'
make[1]: Leaving directory '/home/leo/.local/share/Trash/files/secp256k1-master'

And now when I try to compile libbitcoin with it, even passing -I and -L cflags/cxxflags to the directory where libsecp256k1 was built in, it fails and can't seem to find it:

[leo@localhost-live libbitcoin-system-master]$ CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CFLAGS="-I/home/leo/Downloads/secp256k1-master/include -L/home/leo/Downloads/secp256k1-master" CXXFLAGS="-I/home/leo/Downloads/secp256k1-master/include -L/home/leo/Downloads/secp256k1-master"  BOOST_ROOT=/home/leo/Downloads/boost_1_78_0 ./configure --host=x86_64-w64-mingw32 --build=x86_64-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for x86_64-w64-mingw32-strip... x86_64-w64-mingw32-strip
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports the include directive... yes (GNU style)
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether the compiler supports GNU C++... yes
checking whether x86_64-w64-mingw32-g++ accepts -g... yes
checking for x86_64-w64-mingw32-g++ option to enable C++11 features... none needed
checking dependency style of x86_64-w64-mingw32-g++... gcc3
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc
checking whether the compiler supports GNU C... yes
checking whether x86_64-w64-mingw32-gcc accepts -g... yes
checking for x86_64-w64-mingw32-gcc option to enable C11 features... none needed
checking whether x86_64-w64-mingw32-gcc understands -c and -o together... yes
checking dependency style of x86_64-w64-mingw32-gcc... gcc3
checking for x86_64-w64-mingw32-ar... x86_64-w64-mingw32-ar
checking the archiver (x86_64-w64-mingw32-ar) interface... ar
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-w64-mingw32
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by x86_64-w64-mingw32-gcc... /usr/x86_64-w64-mingw32/bin/ld
checking if the linker (/usr/x86_64-w64-mingw32/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/x86_64-w64-mingw32-nm -B
checking the name lister (/usr/bin/x86_64-w64-mingw32-nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-w64-mingw32 format... func_convert_file_nix_to_w32
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/x86_64-w64-mingw32/bin/ld option to reload object files... -r
checking for x86_64-w64-mingw32-file... no
checking for file... file
configure: WARNING: using cross tools not prefixed with host triplet
checking for x86_64-w64-mingw32-objdump... x86_64-w64-mingw32-objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for x86_64-w64-mingw32-dlltool... x86_64-w64-mingw32-dlltool
checking how to associate runtime and link libraries... func_cygming_dll_for_implib
checking for x86_64-w64-mingw32-ar... (cached) x86_64-w64-mingw32-ar
checking for archiver @FILE support... @
checking for x86_64-w64-mingw32-strip... (cached) x86_64-w64-mingw32-strip
checking for x86_64-w64-mingw32-ranlib... x86_64-w64-mingw32-ranlib
checking command to parse /usr/bin/x86_64-w64-mingw32-nm -B output from x86_64-w64-mingw32-gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for x86_64-w64-mingw32-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... no
checking for objdir... .libs
checking if x86_64-w64-mingw32-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-w64-mingw32-gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if x86_64-w64-mingw32-gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if x86_64-w64-mingw32-gcc static flag -static works... yes
checking if x86_64-w64-mingw32-gcc supports -c -o file.o... yes
checking if x86_64-w64-mingw32-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-w64-mingw32-gcc linker (/usr/x86_64-w64-mingw32/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... x86_64-w64-mingw32-g++ -E
checking for ld used by x86_64-w64-mingw32-g++... /usr/x86_64-w64-mingw32/bin/ld
checking if the linker (/usr/x86_64-w64-mingw32/bin/ld) is GNU ld... yes
checking whether the x86_64-w64-mingw32-g++ linker (/usr/x86_64-w64-mingw32/bin/ld) supports shared libraries... yes
checking for x86_64-w64-mingw32-g++ option to produce PIC... -DDLL_EXPORT -DPIC
checking if x86_64-w64-mingw32-g++ PIC flag -DDLL_EXPORT -DPIC works... yes
checking if x86_64-w64-mingw32-g++ static flag -static works... yes
checking if x86_64-w64-mingw32-g++ supports -c -o file.o... yes
checking if x86_64-w64-mingw32-g++ supports -c -o file.o... (cached) yes
checking whether the x86_64-w64-mingw32-g++ linker (/usr/x86_64-w64-mingw32/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether the compiler supports GNU C++... (cached) yes
checking whether x86_64-w64-mingw32-g++ accepts -g... (cached) yes
checking for x86_64-w64-mingw32-g++ option to enable C++11 features... (cached) none needed
checking dependency style of x86_64-w64-mingw32-g++... (cached) gcc3
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking whether make supports nested variables... (cached) yes
checking for x86_64-w64-mingw32-pkg-config... /usr/bin/x86_64-w64-mingw32-pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether x86_64-w64-mingw32-g++ supports C++20 features with -std=c++20... yes
checking --with-pkgconfigdir option... ${exec_prefix}/lib/pkgconfig
checking --with-tests option... yes
checking --with-examples option... yes
checking --with-icu option... no
checking --enable-avx2 option... no
checking --enable-avx512 option... no
checking --enable-sse4 option... no
checking --enable-shani option... no
checking --enable-ndebug option... yes
checking --enable-isystem option... no
checking whether C++ compiler accepts -std=c++20... yes
checking whether C++ compiler accepts -Wall... yes
checking whether C++ compiler accepts -Wall... (cached) yes
checking whether C++ compiler accepts -Wextra... yes
checking whether C++ compiler accepts -Wextra... (cached) yes
checking whether C++ compiler accepts -Wno-reorder... yes
checking whether C++ compiler accepts -Wno-missing-field-initializers... yes
checking whether C++ compiler accepts -Wno-missing-braces... yes
checking whether C++ compiler accepts -Wno-comment... yes
checking whether C++ compiler accepts -Wno-deprecated-copy... yes
checking whether the linker accepts -fstack-protector... yes
checking whether the linker accepts -fstack-protector-all... yes
checking whether C++ compiler accepts -Wno-long-long... yes
checking whether C++ compiler accepts -fno-var-tracking-assignments... yes
checking for boostlib >= 1.76.0 (107600)... configure: We will use a staged boost library from /home/leo/Downloads/boost_1_78_0
yes
configure: boost_CPPFLAGS : -I/home/leo/Downloads/boost_1_78_0
configure: boost_ISYS_CPPFLAGS : -isystem/home/leo/Downloads/boost_1_78_0
configure: boost_LDFLAGS : -L/home/leo/Downloads/boost_1_78_0/stage/lib
configure: boost_BUILD_CPPFLAGS : -I/home/leo/Downloads/boost_1_78_0
checking whether the Boost::Chrono library is available... yes
checking for exit in -lboost_chrono... yes
configure: boost_chrono_LIBS : -lboost_chrono
checking whether the Boost::IOStreams library is available... yes
checking for exit in -lboost_iostreams... yes
configure: boost_iostreams_LIBS : -lboost_iostreams
checking whether the Boost::JSON library is available... yes
checking for exit in -lboost_json... yes
configure: boost_json_LIBS : -lboost_json
checking whether the Boost::Locale library is available... yes
checking for exit in -lboost_locale... yes
configure: boost_locale_LIBS : -lboost_locale
checking whether the Boost::Program_Options library is available... yes
checking for exit in -lboost_program_options... yes
configure: boost_program_options_LIBS : -lboost_program_options
checking whether the Boost::System library is available... yes
checking for exit in -lboost_system... yes
configure: boost_system_LIBS : -lboost_system
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread... yes
configure: boost_thread_LIBS : -lboost_thread
checking whether the Boost::Unit_Test_Framework library is available... yes
configure: boost_unit_test_framework_LIBS : -lboost_unit_test_framework
checking how to run the C preprocessor... x86_64-w64-mingw32-gcc -E
checking whether x86_64-w64-mingw32-gcc is Clang... no
checking whether pthreads work with "-pthread" and "-lpthread"... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking whether more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
configure: pthread_CPPFLAGS : 
configure: pthread_ISYS_CPPFLAGS : 
configure: pthread_BUILD_CPPFLAGS : 
configure: pthread_LIBS : -lpthread
configure: rt_LIBS : 
configure: icu_i18n_BUILD_CPPFLAGS : 
configure: dl_LIBS : 
checking for secp256k1... no
configure: error: libsecp256k1 >= 0.1.0.20 is required but was not found.
[leo@localhost-live libbitcoin-system-master]$ CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CFLAGS="-I/home/leo/Downloads/secp256k1-master/include -L/home/leo/Downloads/secp256k1-master" CXXFLAGS="-I/home/leo/Downloads/secp256k1-master/include -L/home/leo/Downloads/secp256k1-master"  BOOST_ROOT=/home/leo/Downloads/boost_1_78_0 ./configure --host=x86_64-w64-mingw32 --build=x86_64-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for x86_64-w64-mingw32-strip... x86_64-w64-mingw32-strip
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports the include directive... yes (GNU style)
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether the compiler supports GNU C++... yes
checking whether x86_64-w64-mingw32-g++ accepts -g... yes
checking for x86_64-w64-mingw32-g++ option to enable C++11 features... none needed
checking dependency style of x86_64-w64-mingw32-g++... gcc3
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc
checking whether the compiler supports GNU C... yes
checking whether x86_64-w64-mingw32-gcc accepts -g... yes
checking for x86_64-w64-mingw32-gcc option to enable C11 features... none needed
checking whether x86_64-w64-mingw32-gcc understands -c and -o together... yes
checking dependency style of x86_64-w64-mingw32-gcc... gcc3
checking for x86_64-w64-mingw32-ar... x86_64-w64-mingw32-ar
checking the archiver (x86_64-w64-mingw32-ar) interface... ar
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-w64-mingw32
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by x86_64-w64-mingw32-gcc... /usr/x86_64-w64-mingw32/bin/ld
checking if the linker (/usr/x86_64-w64-mingw32/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/x86_64-w64-mingw32-nm -B
checking the name lister (/usr/bin/x86_64-w64-mingw32-nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-w64-mingw32 format... func_convert_file_nix_to_w32
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/x86_64-w64-mingw32/bin/ld option to reload object files... -r
checking for x86_64-w64-mingw32-file... no
checking for file... file
configure: WARNING: using cross tools not prefixed with host triplet
checking for x86_64-w64-mingw32-objdump... x86_64-w64-mingw32-objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for x86_64-w64-mingw32-dlltool... x86_64-w64-mingw32-dlltool
checking how to associate runtime and link libraries... func_cygming_dll_for_implib
checking for x86_64-w64-mingw32-ar... (cached) x86_64-w64-mingw32-ar
checking for archiver @FILE support... @
checking for x86_64-w64-mingw32-strip... (cached) x86_64-w64-mingw32-strip
checking for x86_64-w64-mingw32-ranlib... x86_64-w64-mingw32-ranlib
checking command to parse /usr/bin/x86_64-w64-mingw32-nm -B output from x86_64-w64-mingw32-gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for x86_64-w64-mingw32-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... no
checking for objdir... .libs
checking if x86_64-w64-mingw32-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-w64-mingw32-gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if x86_64-w64-mingw32-gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if x86_64-w64-mingw32-gcc static flag -static works... yes
checking if x86_64-w64-mingw32-gcc supports -c -o file.o... yes
checking if x86_64-w64-mingw32-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-w64-mingw32-gcc linker (/usr/x86_64-w64-mingw32/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... x86_64-w64-mingw32-g++ -E
checking for ld used by x86_64-w64-mingw32-g++... /usr/x86_64-w64-mingw32/bin/ld
checking if the linker (/usr/x86_64-w64-mingw32/bin/ld) is GNU ld... yes
checking whether the x86_64-w64-mingw32-g++ linker (/usr/x86_64-w64-mingw32/bin/ld) supports shared libraries... yes
checking for x86_64-w64-mingw32-g++ option to produce PIC... -DDLL_EXPORT -DPIC
checking if x86_64-w64-mingw32-g++ PIC flag -DDLL_EXPORT -DPIC works... yes
checking if x86_64-w64-mingw32-g++ static flag -static works... yes
checking if x86_64-w64-mingw32-g++ supports -c -o file.o... yes
checking if x86_64-w64-mingw32-g++ supports -c -o file.o... (cached) yes
checking whether the x86_64-w64-mingw32-g++ linker (/usr/x86_64-w64-mingw32/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether the compiler supports GNU C++... (cached) yes
checking whether x86_64-w64-mingw32-g++ accepts -g... (cached) yes
checking for x86_64-w64-mingw32-g++ option to enable C++11 features... (cached) none needed
checking dependency style of x86_64-w64-mingw32-g++... (cached) gcc3
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking whether make supports nested variables... (cached) yes
checking for x86_64-w64-mingw32-pkg-config... /usr/bin/x86_64-w64-mingw32-pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether x86_64-w64-mingw32-g++ supports C++20 features with -std=c++20... yes
checking --with-pkgconfigdir option... ${exec_prefix}/lib/pkgconfig
checking --with-tests option... yes
checking --with-examples option... yes
checking --with-icu option... no
checking --enable-avx2 option... no
checking --enable-avx512 option... no
checking --enable-sse4 option... no
checking --enable-shani option... no
checking --enable-ndebug option... yes
checking --enable-isystem option... no
checking whether C++ compiler accepts -std=c++20... yes
checking whether C++ compiler accepts -Wall... yes
checking whether C++ compiler accepts -Wall... (cached) yes
checking whether C++ compiler accepts -Wextra... yes
checking whether C++ compiler accepts -Wextra... (cached) yes
checking whether C++ compiler accepts -Wno-reorder... yes
checking whether C++ compiler accepts -Wno-missing-field-initializers... yes
checking whether C++ compiler accepts -Wno-missing-braces... yes
checking whether C++ compiler accepts -Wno-comment... yes
checking whether C++ compiler accepts -Wno-deprecated-copy... yes
checking whether the linker accepts -fstack-protector... yes
checking whether the linker accepts -fstack-protector-all... yes
checking whether C++ compiler accepts -Wno-long-long... yes
checking whether C++ compiler accepts -fno-var-tracking-assignments... yes
checking for boostlib >= 1.76.0 (107600)... configure: We will use a staged boost library from /home/leo/Downloads/boost_1_78_0
yes
configure: boost_CPPFLAGS : -I/home/leo/Downloads/boost_1_78_0
configure: boost_ISYS_CPPFLAGS : -isystem/home/leo/Downloads/boost_1_78_0
configure: boost_LDFLAGS : -L/home/leo/Downloads/boost_1_78_0/stage/lib
configure: boost_BUILD_CPPFLAGS : -I/home/leo/Downloads/boost_1_78_0
checking whether the Boost::Chrono library is available... yes
checking for exit in -lboost_chrono... yes
configure: boost_chrono_LIBS : -lboost_chrono
checking whether the Boost::IOStreams library is available... yes
checking for exit in -lboost_iostreams... yes
configure: boost_iostreams_LIBS : -lboost_iostreams
checking whether the Boost::JSON library is available... yes
checking for exit in -lboost_json... yes
configure: boost_json_LIBS : -lboost_json
checking whether the Boost::Locale library is available... yes
checking for exit in -lboost_locale... yes
configure: boost_locale_LIBS : -lboost_locale
checking whether the Boost::Program_Options library is available... yes
checking for exit in -lboost_program_options... yes
configure: boost_program_options_LIBS : -lboost_program_options
checking whether the Boost::System library is available... yes
checking for exit in -lboost_system... yes
configure: boost_system_LIBS : -lboost_system
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread... yes
configure: boost_thread_LIBS : -lboost_thread
checking whether the Boost::Unit_Test_Framework library is available... yes
configure: boost_unit_test_framework_LIBS : -lboost_unit_test_framework
checking how to run the C preprocessor... x86_64-w64-mingw32-gcc -E
checking whether x86_64-w64-mingw32-gcc is Clang... no
checking whether pthreads work with "-pthread" and "-lpthread"... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking whether more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
configure: pthread_CPPFLAGS : 
configure: pthread_ISYS_CPPFLAGS : 
configure: pthread_BUILD_CPPFLAGS : 
configure: pthread_LIBS : -lpthread
configure: rt_LIBS : 
configure: icu_i18n_BUILD_CPPFLAGS : 
configure: dl_LIBS : 
checking for secp256k1... no
configure: error: libsecp256k1 >= 0.1.0.20 is required but was not found.

Edit: I downloaded libsecp256k1 from this repo

@LEOcab it appears you're attempting installation via manual execution of instructions. We provide installation scripts install.sh and install-cmake.sh in order to encapsulate the instructions for installation of each project as well as their dependencies.

If this problem persists while executing either of the scripts referenced above please feel free to post another issue related to that problem. If you intend on continuing a manual execution of installation, I would suggest mining the appropriate script for assistance as they tackle issues like the one you have above.

As the original point of this issue appears to have been resolved, I will be closing it at present.