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
Entonces make clean
reconstruya.
Si eso no funciona, vuelva a configurar ( ./autogen.sh
y ./configure
), luego make clean
otra 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 /bitcoin
directorio 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
Altamente Irregular
Willtech