I’m studying the “Mastering bitcoin: Programming the Open Blockchain” e-book by Andreas Antonopolous. Within the chapter about compiling bitcoin, the directions had been to execute first
./autogen.sh
and the output was
glibtoolize: placing auxiliary information in AC_CONFIG_AUX_DIR, 'build-aux'.
glibtoolize: copying file 'build-aux/ltmain.sh'
glibtoolize: placing macros in AC_CONFIG_MACRO_DIRS, 'build-aux/m4'.
glibtoolize: copying file 'build-aux/m4/libtool.m4'
glibtoolize: copying file 'build-aux/m4/ltoptions.m4'
glibtoolize: copying file 'build-aux/m4/ltsugar.m4'
glibtoolize: copying file 'build-aux/m4/ltversion.m4'
glibtoolize: copying file 'build-aux/m4/lt~out of date.m4'
configure.ac:45: putting in 'build-aux/compile'
configure.ac:28: putting in 'build-aux/lacking'
Makefile.am: putting in 'build-aux/depcomp'
glibtoolize: placing auxiliary information in AC_CONFIG_AUX_DIR, 'build-aux'.
glibtoolize: copying file 'build-aux/ltmain.sh'
glibtoolize: placing macros in AC_CONFIG_MACRO_DIRS, 'build-aux/m4'.
glibtoolize: copying file 'build-aux/m4/libtool.m4'
glibtoolize: copying file 'build-aux/m4/ltoptions.m4'
glibtoolize: copying file 'build-aux/m4/ltsugar.m4'
glibtoolize: copying file 'build-aux/m4/ltversion.m4'
glibtoolize: copying file 'build-aux/m4/lt~out of date.m4'
configure.ac:36: warning: The macro `AC_PROG_CC_C89' is out of date.
configure.ac:36: It's best to run autoupdate.
./lib/autoconf/c.m4:1652: AC_PROG_CC_C89 is expanded from...
configure.ac:36: the highest stage
configure.ac:15: putting in 'build-aux/compile'
configure.ac:9: putting in 'build-aux/lacking'
Makefile.am: putting in 'build-aux/depcomp'
glibtoolize: placing auxiliary information in AC_CONFIG_AUX_DIR, 'build-aux'.
glibtoolize: copying file 'build-aux/ltmain.sh'
glibtoolize: placing macros in AC_CONFIG_MACRO_DIRS, 'build-aux/m4'.
glibtoolize: copying file 'build-aux/m4/libtool.m4'
glibtoolize: copying file 'build-aux/m4/ltoptions.m4'
glibtoolize: copying file 'build-aux/m4/ltsugar.m4'
glibtoolize: copying file 'build-aux/m4/ltversion.m4'
glibtoolize: copying file 'build-aux/m4/lt~out of date.m4'
configure.ac:812: warning: $as_echo is out of date; use AS_ECHO(["message"]) as a substitute
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/normal.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/normal.m4:2270: AC_CACHE_CHECK is expanded from...
build-aux/m4/ax_pthread.m4:89: AX_PTHREAD is expanded from...
configure.ac:812: the highest stage
configure.ac:94: putting in 'build-aux/compile'
configure.ac:48: putting in 'build-aux/lacking'
src/Makefile.am: putting in 'build-aux/depcomp'
Whereas the output aligned with anticipated output from the directions, the following command
./configure
Exits with an error that C++17 is not obtainable from the compilers on the machine. The output was
checking for pkg-config... /usr/native/bin/pkg-config
checking pkg-config is not less than model 0.9.0... sure
checking construct system kind... x86_64-apple-darwin19.6.0
checking host system kind... x86_64-apple-darwin19.6.0
checking for a BSD-compatible set up... /usr/bin/set up -c
checking whether or not construct surroundings is sane... sure
checking for a race-free mkdir -p... ./build-aux/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether or not make units $(MAKE)... sure
checking whether or not make helps nested variables... sure
checking whether or not to allow maintainer-specific parts of Makefiles... sure
checking whether or not make helps nested variables... (cached) sure
checking for g++... g++
checking whether or not the C++ compiler works... sure
checking for C++ compiler default output file identify... a.out
checking for suffix of executables...
checking whether or not we're cross compiling... no
checking for suffix of object information... o
checking whether or not the compiler helps GNU C++... sure
checking whether or not g++ accepts -g... sure
checking for g++ choice to allow C++11 options... none wanted
checking whether or not make helps the embody directive... sure (GNU fashion)
checking dependency fashion of g++... gcc3
checking whether or not g++ helps C++17 options with -std=c++17... no
checking whether or not g++ helps C++17 options with +std=c++17... no
checking whether or not g++ helps C++17 options with -h std=c++17... no
checking whether or not g++ helps C++17 options with -std=c++1z... no
checking whether or not g++ helps C++17 options with +std=c++1z... no
checking whether or not g++ helps C++17 options with -h std=c++1z... no
configure: error: *** A compiler with help for C++17 language options is required.
and on working
g++ --version
offers
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-
dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/embody/c++/4.2.1
Apple clang model 12.0.0 (clang-1200.0.32.29)
Goal: x86_64-apple-darwin19.6.0
Thread mannequin: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
and g++-11 --version
offers
g++-11 (Homebrew GCC 11.2.0) 11.2.0
Copyright (C) 2021 Free Software program Basis, Inc.
That is free software program; see the supply for copying situations. There may be NO
guarantee; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Now each GNU GCC and in addition Clang compiler variations I’ve help each C++ 17 commonplace and the related flags, why does this error occur?
I made certain my path is ready accurately and in addition different cpp packages execute accurately. I’m unable to seek out the error right here. Can anybody please information me?
That is my first query, first one even on stack trade as an entire. Please excuse any apparent concepts I missed.
I’m utilizing the supply from repo and model v22.0. Thanks!