Building master (f05cf59d91eb03857dd9bdcc77607764da0349d2) on Ubuntu 22.04 with GCC 8.5:
$ ./autogen.sh
$ ./configure --with-incompatible-bdb CC=gcc-8 CXX=g++-8
$ make clean
$ make
...
CXX libbitcoin_node_a-validation.o
during RTL pass: reload
validation.cpp: In member function ‘bool CChainState::FlushStateToDisk(BlockValidationState&, FlushStateMode, int)’:
validation.cpp:2386:1: internal compiler error: Max. number of generated reload insns per insn is achieved (90)
}
^
unrecognized DWARF version in .debug_info at 6
unrecognized DWARF version in .debug_info at 6
unrecognized DWARF version in .debug_info at 6
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-8/README.Bugs> for instructions.
make[2]: *** [Makefile:10721: libbitcoin_node_a-validation.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/hebasto/GitHub/bitcoin/src'
make[1]: *** [Makefile:19149: all-recursive] Error 1
make[1]: Leaving directory '/home/hebasto/GitHub/bitcoin/src'
make: *** [Makefile:816: all-recursive] Error 1
Interesting that the upstream bug has been fixed and backported:
gcc-8 (8.3.0-25) unstable; urgency=medium
* Update to SVN 20191126 (r278718) from the gcc-8-branch.
- Fix PR c/91401, PR tree-optimization/91355, PR middle-end/90840,
PR target/90867 (x86), PR c/90898, PR middle-end/91450,
PR c++/92384, PR tree-optimization/92056, PR tree-optimization/91665,
PR middle-end/91001, PR middle-end/91105, PR middle-end/91106,
PR middle-end/91623, PR other/92090, PR target/92389 (x86),
PR target/87833 (x86), PR target/92095 (SPARC), PR fortran/92113,
PR tree-optimization/85887, PR c++/92201, PR c++/91974,
PR preprocessor/92296, PR fortran/92569, PR ada/92575.
-- Matthias Klose <doko@debian.org> Tue, 26 Nov 2019 08:34:48 +0100