Compilando bitcoin-core desde la fuente Ubuntu 17.10

Hola, por lo general, todo ha estado bien compilando desde la fuente hasta que actualicé a Ubuntu 17.10

He configurado usando --disable-wallet y estoy usando la rama maestra más actualizada

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
¿Puede aclarar qué es exactamente lo que está preguntando ... es cómo solucionar el error?
¡Bienvenido a Bitcoin.SE! ¿Puede indicar para qué plataforma está compilando?

Respuestas (2)

Entonces make cleanreconstruya.

Si eso no funciona, vuelva a configurar ( ./autogen.shy ./configure), luego make cleanotra vez, luego make.

Por lo general, es mejor crear una versión etiquetada que desde la parte superior del maestro, que puede tener cambios adicionales.

Más recientemente hubo algunos cambios de dependencia [ 1 ] .

En el /bitcoindirectorio necesitas:

sudo apt install zlib1g-dev
git clean -fdx

Accede a la rama principal:

git checkout master

Despliegue el maestro actual, incluidas las etiquetas. Dependiendo de cómo esté configurado, la forma de hacerlo variará, pero podría ser tan simple comogit pull origin --tags

Entonces, definitivamente deberías revisar una versión etiquetada. La versión actual más etiquetada al momento de escribir es v0.16.0; puede verificar con qué etiquetas existen git tag; generalmente lo hago de esta manera en una rama:

git checkout v0.16.0 -b v016

Luego, siga las instrucciones de compilación específicas en /bitcoin/doc/*.md. Por ejemplo, Ubuntu 17.04 se admite específicamente enbuild-unix.md

rel:
[ 1 ] github.com - "Ok, he identificado el problema. Se debe a que una de las dependencias..." - https://github.com/bitcoin/bitcoin/issues/12515#issuecomment-368283657