libbitcoin / libbitcoin-explorer

Bitcoin Command Line Tool
Other
598 stars 175 forks source link

Build error: [Makefile:4073: src/wallet/libbitcoin_system_la-dictionary.lo] Error 1 #701

Closed krassotkin closed 2 years ago

krassotkin commented 2 years ago

I tried to install libbitcoin-explorer according to this instruction: https://github.com/libbitcoin/libbitcoin-explorer/blob/master/README.md

$ uname -a Linux fedora 5.14.14-200.fc34.x86_64 #1 SMP Wed Oct 20 16:15:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

$ ./install.sh --prefix=/home/me/bin/libbitcoin/libbitcoin-explorer --build-boost --build-zmq --disable-shared

But there is an error in the build process:

<...> CXX src/wallet/libbitcoin_system_la-dictionary.lo In file included from src/wallet/dictionary.cpp:19: ./include/bitcoin/system/wallet/dictionary.hpp:34:21: error: ‘size_t’ does not name a type 34 | static BC_CONSTEXPR size_t dictionary_size = 2048; | ^~ ./include/bitcoin/system/wallet/dictionary.hpp:26:1: note: ‘size_t’ is defined in header ‘’; did you forget to ‘#include >’? 25 | #include <bitcoin/system/compat.hpp> +++ |+#include 26 | ./include/bitcoin/system/wallet/dictionary.hpp:42:33: error: ‘dictionary_size’ was not declared in this scope 42 | typedef std::array<const char, dictionary_size> dictionary; | ^~~~~~~ ./include/bitcoin/system/wallet/dictionary.hpp:42:48: error: template argument 2 is invalid 42 | typedef std::array<const char, dictionary_size> dictionary; | ^ src/wallet/dictionary.cpp:2078:1: error: too many braces around scalar initializer for type ‘const dictionary’ {aka ‘const int’} 2078 | }; | ^ src/wallet/dictionary.cpp:4133:1: error: too many braces around scalar initializer for type ‘const dictionary’ {aka ‘const int’} 4133 | }; | ^ src/wallet/dictionary.cpp:6188:1: error: too many braces around scalar initializer for type ‘const dictionary’ {aka ‘const int’} 6188 | }; | ^ src/wallet/dictionary.cpp:8243:1: error: too many braces around scalar initializer for type ‘const dictionary’ {aka ‘const int’} 8243 | }; | ^ src/wallet/dictionary.cpp:10298:1: error: too many braces around scalar initializer for type ‘const dictionary’ {aka ‘const int’} 10298 | }; | ^ src/wallet/dictionary.cpp:12353:1: error: too many braces around scalar initializer for type ‘const dictionary’ {aka ‘const int’} 12353 | }; | ^ src/wallet/dictionary.cpp:14408:1: error: too many braces around scalar initializer for type ‘const dictionary’ {aka ‘const int’} 14408 | }; | ^ src/wallet/dictionary.cpp:16463:1: error: too many braces around scalar initializer for type ‘const dictionary’ {aka ‘const int’} 16463 | }; | ^ src/wallet/dictionary.cpp:18518:1: error: too many braces around scalar initializer for type ‘const dictionary’ {aka ‘const int’} 18518 | }; | ^ src/wallet/dictionary.cpp:20573:1: error: too many braces around scalar initializer for type ‘const dictionary’ {aka ‘const int’} 20573 | }; | ^ make: [Makefile:4073: src/wallet/libbitcoin_system_la-dictionary.lo] Error 1 make: Waiting for unfinished jobs....

evoskuil commented 2 years ago

Looks like a missing include. Our CI builds were offline fir a while as Travis transitioned, so we may have missed covering it. Missing includes are treated differently by different compilers. I’m on the road for a few more days, but if nobody gets to it first I’ll kick the Travis builds and track it down.

AyoAyomide commented 2 years ago

any fix for this problem yet?

evoskuil commented 2 years ago

Sorry for the delay. Travis cut our build service down to almost nothing when they went to a pay service, so we haven't had automated builds for a while. That's why this happened in the first place. @pmienk is working on getting us back up on GitHub Actions.