EOSIO / eosio.contracts

Smart contracts that provide some of the basic functions of the EOSIO blockchain
https://eosio.github.io/eosio.contracts/latest
MIT License
326 stars 415 forks source link

build error " undefined reference to `__gmpn_gcdext'" in Ubuntu16.04 #140

Closed spartucus closed 3 years ago

spartucus commented 5 years ago

fresh installation of eosio and eosio.cdt. eosio: 1.4.4 eosio.cdt: 1.4.1 ubuntu: 16.04

[ 84%] Linking CXX executable eosio.system.wasm
[ 84%] Built target eosio.system.wasm
[ 83%] Building CXX object CMakeFiles/unit_test.dir/eosio.msig_tests.cpp.o
[100%] Linking CXX executable unit_test
/usr/local/eosio/lib/libsecp256k1.a(secp256k1.c.o): In function `secp256k1_fe_inv_var':
/home/niubob/work/eos/libraries/fc/secp256k1/upstream/src/secp256k1.c:(.text+0x26b63): undefined reference to `__gmpn_set_str'
/home/niubob/work/eos/libraries/fc/secp256k1/upstream/src/secp256k1.c:(.text+0x26bd9): undefined reference to `__gmpn_set_str'
/home/niubob/work/eos/libraries/fc/secp256k1/upstream/src/secp256k1.c:(.text+0x26c7e): undefined reference to `__gmpn_get_str'
/usr/local/eosio/lib/libsecp256k1.a(secp256k1.c.o): In function `secp256k1_num_mod_inverse':
/home/niubob/work/eos/libraries/fc/secp256k1/upstream/src/secp256k1.c:(.text+0x26efe): undefined reference to `__gmpn_gcdext'
/home/niubob/work/eos/libraries/fc/secp256k1/upstream/src/secp256k1.c:(.text+0x26f35): undefined reference to `__gmpn_sub_n'
/usr/local/eosio/lib/libsecp256k1.a(secp256k1.c.o): In function `secp256k1_scalar_inverse_var':
/home/niubob/work/eos/libraries/fc/secp256k1/upstream/src/secp256k1.c:(.text+0x41c3f): undefined reference to `__gmpn_set_str'
/home/niubob/work/eos/libraries/fc/secp256k1/upstream/src/secp256k1.c:(.text+0x41ca6): undefined reference to `__gmpn_set_str'
/home/niubob/work/eos/libraries/fc/secp256k1/upstream/src/secp256k1.c:(.text+0x41d45): undefined reference to `__gmpn_get_str'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
CMakeFiles/unit_test.dir/build.make:269: recipe for target 'unit_test' failed
make[5]: *** [unit_test] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/unit_test.dir/all' failed
make[4]: *** [CMakeFiles/unit_test.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles/contracts_unit_tests.dir/build.make:111: recipe for target 'contracts_unit_tests-prefix/src/contracts_unit_tests-stamp/contracts_unit_tests-build' failed
make[2]: *** [contracts_unit_tests-prefix/src/contracts_unit_tests-stamp/contracts_unit_tests-build] Error 2
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/contracts_unit_tests.dir/all' failed
make[1]: *** [CMakeFiles/contracts_unit_tests.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
xuing commented 5 years ago

I had same error.