0
Trying to compile with g++ -o addr 69_addr2.cpp $(pkg-config --cflags --libs libbitcoin) is getting me this error:
/usr/bin/ld: /home/pi/libbitcoininstall/lib/libsecp256k1.a(libsecp256k1_la-secp256k1.o): in function `secp256k1_num_mod_inverse':
/home/pi/GitBen/LibbitcoinBen/build-libbitcoin/secp256k1/src/num_gmp_impl.h:128: undefined reference to `__gmpn_gcdext'
/usr/bin/ld: /home/pi/libbitcoininstall/lib/libsecp256k1.a(libsecp256k1_la-secp256k1.o): in function `__gmpn_sub':
/usr/include/arm-linux-gnueabihf/gmp.h:2190: undefined reference to `__gmpn_sub_n'
/usr/bin/ld: /home/pi/libbitcoininstall/lib/libsecp256k1.a(libsecp256k1_la-secp256k1.o): in function `secp256k1_num_set_bin':
/home/pi/GitBen/LibbitcoinBen/build-libbitcoin/secp256k1/src/num_gmp_impl.h:49: undefined reference to `__gmpn_set_str'
/usr/bin/ld: /home/pi/GitBen/LibbitcoinBen/build-libbitcoin/secp256k1/src/num_gmp_impl.h:49: undefined reference to `__gmpn_set_str'
/usr/bin/ld: /home/pi/libbitcoininstall/lib/libsecp256k1.a(libsecp256k1_la-secp256k1.o): in function `secp256k1_num_get_bin':
/home/pi/GitBen/LibbitcoinBen/build-libbitcoin/secp256k1/src/num_gmp_impl.h:34: undefined reference to `__gmpn_get_str'
/usr/bin/ld: /home/pi/libbitcoininstall/lib/libsecp256k1.a(libsecp256k1_la-secp256k1.o): in function `secp256k1_num_set_bin':
/home/pi/GitBen/LibbitcoinBen/build-libbitcoin/secp256k1/src/num_gmp_impl.h:49: undefined reference to `__gmpn_set_str'
/usr/bin/ld: /home/pi/GitBen/LibbitcoinBen/build-libbitcoin/secp256k1/src/num_gmp_impl.h:49: undefined reference to `__gmpn_set_str'
/usr/bin/ld: /home/pi/libbitcoininstall/lib/libsecp256k1.a(libsecp256k1_la-secp256k1.o): in function `secp256k1_num_get_bin':
/home/pi/GitBen/LibbitcoinBen/build-libbitcoin/secp256k1/src/num_gmp_impl.h:34: undefined reference to `__gmpn_get_str'
collect2: error: ld returned 1 exit status
Why is there a reference to the build-libbitcoin directory?
I installed libbitcoin in /home/pi/libbitcoininstall and the other directory is just the git where the automatic install script placed all the files.
So, this process should be finished. Why do I even get a print with that directory?
The installation went without error.
I am doing this on a Raspberry (should it matter?)
The small program I try to compile is from a textbook:
#include <bitcoin/bitcoin.hpp>
int main()
{
bc::ec_secret secret;
bool success = bc::decode_base16(secret,"038109007313a5807b2eccc082c8c3fbb988a973cacf1a7df9ce725c31v14776");
assert(success);
bc::ec_point public_key = bc::secret_to_public_key(secret);
std::cout << "Public key: " << bc::encode_hex(public_key) << std::endl;
const bc::short_hash hash = bc::bitcoin_short_hash(public_key);
bc::data_chunk unencoded_address;
unencoded_address.reserve(25);
unencoded_address.push_back(0);
bc::extend_data(unencoded_address, hash);
bc::append_checksum(unencoded_address);
assert(unencoded_address.size() == 25);
const std::string address = bc::encode_base58(unencoded_address);
std::cout << "Address: " << address << std::endl;
return 0;
}
how you have build the libsecp256k1? – vincenzopalazzo – 2019-09-23T11:47:24.357
It is part of the install script
– Ben – 2019-09-23T12:47:54.890install.shoflibbitcoinand the developers there argued that using this is the best method to make sure an installation is done properly. See also https://github.com/libbitcoin/libbitcoin-system#building-icu-zlib-png-qrencode-andor-boostadd this to the compile command
-lgmpad rebuild the library – vincenzopalazzo – 2019-09-23T12:50:50.223Could you please elaborate on the subject? Recompiling will take half a day on my Raspberry so I would like to think about it. :) – Ben – 2019-09-23T12:52:42.730
look this issue on github, inside it is the solution
– vincenzopalazzo – 2019-09-23T12:54:29.247Thanks. The install script is 100% automatic. I start
./install.shand it finishes after several hours. I am not sure where to add the command. Actually, as you can see, I already appended a message to that closed issue. :) – Ben – 2019-09-23T12:57:36.530The directories discussed in the issue you linked are probably special to this github project. I can not find them and also not the
link.txt. Interestingly, I have the very same error message. Thanks for your input. – Ben – 2019-09-23T13:06:58.430