La instalación del nodo completo de Bitcoin en Raspberry Pi3 no funciona

Estoy tratando de configurar un nodo completo de Bitcoin que incluye GUI y billetera según la guía en raspnode.com, pero me quedé atascado en este punto:

'i@raspnode~/bin/bitcoin$ make -j2'

teniendo este error:

Making all in src
make[1]: Entering directory '/home/pi/bin/bitcoin/src'
make[2]: Entering directory '/home/pi/bin/bitcoin/src'
  CXX      bitcoind-bitcoind.o
make[3]: Entering directory '/home/pi/bin/bitcoin/src/secp256k1'
make[3]: Leaving directory '/home/pi/bin/bitcoin/src/secp256k1'
  CXX      libbitcoin_server_a-chain.o
  CXX      libbitcoin_server_a-checkpoints.o
In file included from /usr/include/boost/thread.hpp:24:0,
             from scheduler.h:15,
             from bitcoind.cpp:15:
/usr/include/boost/thread/future.hpp:3188:0: error: unterminated #if
 #if ! defined BOOST_NO_CXX11_RVALUE_REFERENCES
 ^
/usr/include/boost/thread/future.hpp:3164:0: error: unterminated #if
 #if defined BOOST_THREAD_PROVIDES_FUTURE_CTOR_ALLOCATORS
 ^
In file included from /usr/include/boost/thread.hpp:24:0,
             from scheduler.h:15,
             from bitcoind.cpp:15:
/usr/include/boost/thread/future.hpp:16:0: error: unterminated #ifndef
 #ifndef BOOST_NO_EXCEPTIONS
 ^
/usr/include/boost/thread/future.hpp:8:0: error: unterminated #ifndef
 #ifndef BOOST_THREAD_FUTURE_HPP
 ^
In file included from util.h:18:0,
             from bitcoind.cpp:16:
tinyformat.h:104:1: error: expected unqualified-id before ‘namespace’
 namespace tinyformat {}
 ^ 
tinyformat.h:109:1: error: expected unqualified-id before ‘namespace’
 namespace tfm = tinyformat;
 ^
In file included from util.h:18:0,
             from bitcoind.cpp:16:
tinyformat.h:150:1: error: expected unqualified-id before ‘namespace’
 namespace tinyformat {
 ^
bitcoind.cpp:191:1: error: expected ‘}’ at end of input
 }
 ^
In file included from bitcoind.cpp:15:0:
scheduler.h:80:87: error: expected unqualified-id at end of input
     bool shouldStop() { return stopRequested || (stopWhenEmpty && taskQueue.empty()); }
                                                                                   ^
scheduler.h:80:87: error: expected ‘}’ at end of input
Makefile:7351: recipe for target 'bitcoind-bitcoind.o' failed
make[2]: *** [bitcoind-bitcoind.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/pi/bin/bitcoin/src'
Makefile:8357: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/pi/bin/bitcoin/src'
Makefile:668: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

¡POR FAVOR AYUDA!

Respuestas (2)

¿Parece que libboost no está instalado?

Probar:

apt install libboost-all-dev -y

Luego reconstruir:

./autogen.sh; ./configure; make

¿Qué opción de configuración estás usando? Supongo que está utilizando esta guía del dominio mencionado. Si es así, tiene tres opciones para la ./configureetapa de instalación porque mencionó la GUI completa y extraje la línea de configuración necesaria.

 ./configure CPPFLAGS="-I/usr/local/BerkeleyDB.4.8/include -O2" LDFLAGS="-L/usr/local/BerkeleyDB.4.8/lib" --enable-upnp-default --with-gui

Tenga en cuenta que es posible que sea necesario ajustar esas rutas de archivo si ha instalado dependencias en otro lugar.

Si aún tiene errores, sería útil saber qué comandos ingresó que condujeron a los errores de compilación publicados.

ediciones y actualizaciones

Al mirar muy de cerca los registros de errores publicados, parece haber un 'o "similar que no se cerró , comienza a aparecer en ifdeclaraciones que no se terminan correctamente cerca de la parte superior del registro. Además, si copia/pega comandos de una página web en su terminal, es posible que la cita y otros caracteres especiales no se interpreten correctamente. Definitivamente comience la guía desde el principio escribiendo manualmente los comandos si eso suena correcto porque esos errores generalmente son causados ​​​​por algo mal escrito o malinterpretado.

Construir con -j4ciertamente causará una falta de memoria. Un RPi3 casi no tiene suficiente memoria para ejecutar 4 gcc en paralelo.
Ah, ve a llamar, lo último que construí mi nodo fue en un hardware igualmente limitado, pero aún no tengo el espacio en el disco para intentarlo nuevamente en el RPi sin arrancar. Eliminaré la mala sugerencia, gracias Pieter.