Kompilieren von bitcoin-core aus Quelle Ubuntu 17.10

Hey, beim Kompilieren aus dem Quellcode war normalerweise alles in Ordnung, bis ich auf Ubuntu 17.10 aktualisiert habe

Ich habe mit --disable-wallet konfiguriert und verwende den aktuellsten Master-Zweig

chris@chris-GE60-2PL:~/bitcoin$ sudo make
Making all in src
make[1]: Entering directory '/home/chris/bitcoin/src'
make[2]: Entering directory '/home/chris/bitcoin/src'
make[3]: Entering directory '/home/chris/bitcoin'
cd . && /bin/bash ./config.status src/config/bitcoin-config.h
config.status: creating src/config/bitcoin-config.h
config.status: src/config/bitcoin-config.h is unchanged
make[3]: Leaving directory '/home/chris/bitcoin'
make[3]: Entering directory '/home/chris/bitcoin'
make[3]: Leaving directory '/home/chris/bitcoin'
make[3]: Entering directory '/home/chris/bitcoin/src/secp256k1'
make[3]: Leaving directory '/home/chris/bitcoin/src/secp256k1'
  CXX      libbitcoin_util_a-clientversion.o
  AR       libbitcoin_util.a
  CXXLD    bitcoind
  CXXLD    bitcoin-cli
  CXXLD    bitcoin-tx
  CXXLD    test/test_bitcoin
  CXXLD    bench/bench_bitcoin
  CXX      qt/qt_libbitcoinqt_a-moc_bitcoingui.o
qt/moc_bitcoingui.cpp: In static member function ‘static void 
BitcoinGUI::qt_static_metacall(QObject*, QMetaObject::Call, int, 
void**)’:
qt/moc_bitcoingui.cpp:217:21: error: ‘class BitcoinGUI’ has no member 
named ‘setEncryptionStatus’; did you mean ‘setDockOptions’?
         case 6: _t->setEncryptionStatus((*reinterpret_cast< int(*)>
(_a[1]))); break;
                     ^~~~~~~~~~~~~~~~~~~
                     setDockOptions
qt/moc_bitcoingui.cpp:218:21: error: ‘class BitcoinGUI’ has no member 
named ‘setHDStatus’; did you mean ‘setStatusBar’?
         case 7: _t->setHDStatus((*reinterpret_cast< int(*)>(_a[1]))); 
break;
                     ^~~~~~~~~~~
                     setStatusBar
qt/moc_bitcoingui.cpp:219:33: error: ‘class BitcoinGUI’ has no member 
named ‘handlePaymentRequest’
         case 8: { bool _r = _t-
>handlePaymentRequest((*reinterpret_cast< const SendCoinsRecipient(*)>
(_a[1])));
                                 ^~~~~~~~~~~~~~~~~~~~
qt/moc_bitcoingui.cpp:221:21: error: ‘class BitcoinGUI’ has no member 
named ‘incomingTransaction’
         case 9: _t->incomingTransaction((*reinterpret_cast< const 
QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),
(*reinterpret_cast< const CAmount(*)>(_a[3])),(*reinterpret_cast< 
const QString(*)>(_a[4])),(*reinterpret_cast< const QString(*)>
(_a[5])),(*reinterpret_cast< const QString(*)>(_a[6]))); break;
                     ^~~~~~~~~~~~~~~~~~~
qt/moc_bitcoingui.cpp:222:22: error: ‘class BitcoinGUI’ has no member 
named ‘gotoOverviewPage’
         case 10: _t->gotoOverviewPage(); break;
                      ^~~~~~~~~~~~~~~~
qt/moc_bitcoingui.cpp:223:22: error: ‘class BitcoinGUI’ has no member 
named ‘gotoHistoryPage’
         case 11: _t->gotoHistoryPage(); break;
                      ^~~~~~~~~~~~~~~
qt/moc_bitcoingui.cpp:224:22: error: ‘class BitcoinGUI’ has no member 
named ‘gotoReceiveCoinsPage’
         case 12: _t->gotoReceiveCoinsPage(); break;
                      ^~~~~~~~~~~~~~~~~~~~
qt/moc_bitcoingui.cpp:225:22: error: ‘class BitcoinGUI’ has no member 
named ‘gotoSendCoinsPage’
         case 13: _t->gotoSendCoinsPage((*reinterpret_cast< 
QString(*)>(_a[1]))); break;
                     ^~~~~~~~~~~~~~~~~
qt/moc_bitcoingui.cpp:226:22: error: ‘class BitcoinGUI’ has no member 
named ‘gotoSendCoinsPage’
        case 14: _t->gotoSendCoinsPage(); break;
                      ^~~~~~~~~~~~~~~~~
qt/moc_bitcoingui.cpp:227:22: error: ‘class BitcoinGUI’ has no member 
named ‘gotoSignMessageTab’
         case 15: _t->gotoSignMessageTab((*reinterpret_cast< 
QString(*)>(_a[1]))); break;
                      ^~~~~~~~~~~~~~~~~~
qt/moc_bitcoingui.cpp:228:22: error: ‘class BitcoinGUI’ has no member 
named ‘gotoSignMessageTab’
         case 16: _t->gotoSignMessageTab(); break;
                      ^~~~~~~~~~~~~~~~~~
qt/moc_bitcoingui.cpp:229:22: error: ‘class BitcoinGUI’ has no member 
named ‘gotoVerifyMessageTab’
         case 17: _t->gotoVerifyMessageTab((*reinterpret_cast< 
QString(*)>(_a[1]))); break;
                      ^~~~~~~~~~~~~~~~~~~~
qt/moc_bitcoingui.cpp:230:22: error: ‘class BitcoinGUI’ has no member 
named ‘gotoVerifyMessageTab’
         case 18: _t->gotoVerifyMessageTab(); break;
                      ^~~~~~~~~~~~~~~~~~~~
qt/moc_bitcoingui.cpp:231:22: error: ‘class BitcoinGUI’ has no member named ‘openClicked’; did you mean ‘optionsClicked’?
     case 19: _t->openClicked(); break;
                  ^~~~~~~~~~~
                      optionsClicked
Makefile:7129: recipe for target 'qt/qt_libbitcoinqt_a-moc_bitcoingui.o' 
failed
make[2]: *** [qt/qt_libbitcoinqt_a-moc_bitcoingui.o] Error 1
make[2]: Leaving directory '/home/chris/bitcoin/src'
Makefile:9361: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/chris/bitcoin/src'
Makefile:746: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
Können Sie bitte klarstellen, was genau Sie fragen ... ist es, wie der Fehler behoben werden kann?
Willkommen bei Bitcoin.SE! Können Sie bitte angeben, für welche Plattform Sie kompilieren?

Antworten (2)

Baue make cleandann um.

Wenn das nicht funktioniert, konfigurieren Sie ( ./autogen.shund ./configure) dann make cleanerneut, dann make.

Es ist normalerweise besser, eine getaggte Version zu erstellen, als direkt von der Spitze des Masters aus, der möglicherweise zusätzliche Änderungen enthält.

In jüngerer Zeit gab es einige Abhängigkeitsänderungen [ 1 ] .

Im /bitcoinVerzeichnis müssen Sie:

sudo apt install zlib1g-dev
git clean -fdx

Steigen Sie in den Master-Zweig ein:

git checkout master

Ziehen Sie den aktuellen Master einschließlich Tags herunter. Je nachdem, wie Sie konfiguriert sind, variiert die Vorgehensweise, könnte aber so einfach sein wiegit pull origin --tags

Dann sollten Sie sich unbedingt eine getaggte Version ansehen. Die aktuelle Version mit den höchsten Tags zum Zeitpunkt des Schreibens ist v0.16.0 - Sie können überprüfen, welche Tags vorhanden sind git tag- ich mache das normalerweise so in einen Zweig:

git checkout v0.16.0 -b v016

Befolgen Sie dann die spezifischen Build-Anweisungen in /bitcoin/doc/*.md. Beispielsweise wird Ubuntu 17.04 speziell in unterstütztbuild-unix.md

rel:
[ 1 ] github.com – „Ok, ich habe das Problem identifiziert. Es liegt daran, dass eine der Abhängigkeiten …“ – https://github.com/bitcoin/bitcoin/issues/12515#issuecomment-368283657