Recibo un error después de hacer un comando como,
referencia indefinida a `BlockAssembler::BlockAssembler(CChainParams const&)'
y por ultimo
Makefile: 774: la receta para el objetivo 'totalmente recursivo' falló
make: **[todo-recursivo] Error 1
He seguido todos los pasos dados aquí: -
https://www.toshblocks.com/bitcoin/compile-bitcoin-source-code-ubuntu-16-04-lts/
Producción :-
Making all in src
make[1]: Entering directory '/home/khushbu/bitcoin/src'
make[2]: Entering directory '/home/khushbu/bitcoin/src'
make[3]: Entering directory '/home/khushbu/bitcoin'
make[3]: Leaving directory '/home/khushbu/bitcoin'
CXXLD bitcoind
libbitcoin_server.a(libbitcoin_server_a-mining.o): In function `generateBlocks(std::shared_ptr<CReserveScript>, int, unsigned long, bool)':
/home/khushbu/bitcoin/src/rpc/mining.cpp:122: undefined reference to `BlockAssembler::BlockAssembler(CChainParams const&)'
/home/khushbu/bitcoin/src/rpc/mining.cpp:122: undefined reference to `BlockAssembler::CreateNewBlock(CScript const&, bool)'
/home/khushbu/bitcoin/src/rpc/mining.cpp:128: undefined reference to `IncrementExtraNonce(CBlock*, CBlockIndex const*, unsigned int&)'
libbitcoin_server.a(libbitcoin_server_a-mining.o): In function `getmininginfo(JSONRPCRequest const&)':
/home/khushbu/bitcoin/src/rpc/mining.cpp:216: undefined reference to `nLastBlockWeight'
/home/khushbu/bitcoin/src/rpc/mining.cpp:217: undefined reference to `nLastBlockTx'
libbitcoin_server.a(libbitcoin_server_a-mining.o): In function `getblocktemplate(JSONRPCRequest const&)':
/home/khushbu/bitcoin/src/rpc/mining.cpp:521: undefined reference to `BlockAssembler::BlockAssembler(CChainParams const&)'
/home/khushbu/bitcoin/src/rpc/mining.cpp:521: undefined reference to `BlockAssembler::CreateNewBlock(CScript const&, bool)'
/home/khushbu/bitcoin/src/rpc/mining.cpp:533: undefined reference to `UpdateTime(CBlockHeader*, Consensus::Params const&, CBlockIndex const*)'
collect2: error: ld returned 1 exit status
Makefile:3888: recipe for target 'bitcoind' failed
make[2]: *** [bitcoind] Error 1
make[2]: Leaving directory '/home/khushbu/bitcoin/src'
Makefile:10190: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/khushbu/bitcoin/src'
Makefile:774: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
¿Cómo resolver este error y compilar el código fuente de bitcoin con éxito?
Parece que tiene errores de vinculación, posiblemente debido a la forma en que está instalando y configurando BerkeleyDB. Sería útil publicar la salida del ./configure
comando. Bitcoin-core recomienda instalarlo usando el PPA de Bitcoin:
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev
Entonces no tiene que ejecutar ./configure
con LDFLAGS
y CPPFLAGS
para BerkeleyDB.
Recomendaría seguir las instrucciones de compilación de UNIX en el repositorio. Primero descargue el código fuente de la versión que desee del repositorio de versiones .
$ tar xvzf v0.17.0.tar.gz && cd v0.17.0
Luego siga las instrucciones en el enlace de arriba.