Bitcoin-Full-Node-Installation auf Raspberry Pi3 funktioniert nicht

Ich versuche, einen vollständigen Bitcoin-Knoten einschließlich GUI und Brieftasche basierend auf der Anleitung auf raspnode.com einzurichten, bin aber an diesem Punkt hängen geblieben:

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

diesen Fehler haben:

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

BITTE HELFEN SIE!

Antworten (2)

Sieht so aus, als wäre libboost nicht installiert?

Versuchen:

apt install libboost-all-dev -y

Dann neu aufbauen:

./autogen.sh; ./configure; make

Welche Config-Option verwendest du? Ich gehe davon aus, dass Sie diese Anleitung von der genannten Domain verwenden. Wenn dies der Fall ist, haben Sie drei Optionen für die ./configureInstallationsphase, da Sie die vollständige und die GUI erwähnt haben. Ich habe die erforderliche Konfigurationszeile herausgezogen

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

Beachten Sie, dass diese Dateipfade möglicherweise angepasst werden müssen, wenn Sie Abhängigkeiten an anderer Stelle installiert haben.

Wenn Sie immer noch Fehler haben, wäre es hilfreich zu wissen, welche Befehle Sie eingegeben haben, die zu den geposteten Build-Fehlern führen.

Bearbeitungen und Aktualisierungen

Wenn man sich die geposteten Fehlerprotokolle ganz genau ansieht, scheint es ein 'oder "oder ähnliches zu geben, das nicht geschlossen wurde . Es zeigt sich bei einer ifAnweisung, die am oberen Rand des Protokolls nicht korrekt beendet wird. Wenn Sie außerdem Befehle zum Kopieren / Einfügen von einer Webseite in Ihr Terminal kopieren, werden das Zitat und andere Sonderzeichen möglicherweise nicht richtig interpretiert. Beginnen Sie die Anleitung auf jeden Fall von oben, indem Sie Befehle manuell eingeben, wenn sich das richtig anhört, da diese Fehler normalerweise durch Tippfehler oder Fehlinterpretationen verursacht werden.

Das Bauen mit -j4wird sicherlich zu einem Speichermangel führen. Ein RPi3 hat nicht annähernd genug Speicher, um 4 gccs parallel auszuführen.
Ah, rufen Sie an, zuletzt hatte ich meinen Knoten auf ähnlich begrenzter Hardware gebaut, aber ich habe noch nicht den Speicherplatz, um es erneut auf dem RPi ohne Bootstrapping zu versuchen. Ich werde den schlechten Vorschlag entfernen, danke Pieter.