Ubuntu
帶有 SX 工具的 Ubuntu 14 LTS 安裝問題
我正在嘗試按照安裝說明 ( <http://sx.dyne.org/introduction.html#installation> )使用 Ubuntu 14 LTS安裝 SX ( <http://SX.dyne.org> ) 工具。
- 我使用wget將 SH 腳本下載到 root,然後…
- 安裝
sudo bash ./install-sx.sh
到目前為止一切順利(為簡潔起見編輯了終端視窗輸出,即如果安裝看起來不錯,則開始):
checking for CURL... yes checking for libsecp256k1... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating include/bitcoin/Makefile config.status: creating src/Makefile config.status: creating libbitcoin.pc config.status: executing depfiles commands config.status: executing libtool commands configure: WARNING: unrecognized options: --with-libsecp256k1 Making all in include/bitcoin make[1]: Entering directory '/usr/local/src/libbitcoin-git/include/bitcoin' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/usr/local/src/libbitcoin-git/include/bitcoin' Making all in src make[1]: Entering directory '/usr/local/src/libbitcoin-git/src' CXX utility/ec_keys.lo utility/ec_keys.cpp: In function 'libbitcoin::ec_point libbitcoin::secret_to_public_key(const ec_secret&, bool)': utility/ec_keys.cpp:66:23: error: 'secp256k1_ecdsa_pubkey_create' was not declared in this scope compressed)) ^ utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)': utility/ec_keys.cpp:75:78: error: 'secp256k1_ecdsa_pubkey_verify' was not declared in this scope return secp256k1_ecdsa_pubkey_verify(public_key.data(), public_key.size()); ^ utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)': utility/ec_keys.cpp:81:60: error: 'secp256k1_ecdsa_seckey_verify' was not declared in this scope return secp256k1_ecdsa_seckey_verify(private_key.data()); ^ utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)': utility/ec_keys.cpp:115:73: error: 'secp256k1_ecdsa_pubkey_tweak_add' was not declared in this scope return secp256k1_ecdsa_pubkey_tweak_add(a.data(), a.size(), b.data()); ^ utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_point&, const ec_secret&)': utility/ec_keys.cpp:121:73: error: 'secp256k1_ecdsa_pubkey_tweak_mul' was not declared in this scope return secp256k1_ecdsa_pubkey_tweak_mul(a.data(), a.size(), b.data()); ^ utility/ec_keys.cpp: In function 'bool libbitcoin::ec_add(libbitcoin::ec_secret&, const ec_secret&)': utility/ec_keys.cpp:127:64: error: 'secp256k1_ecdsa_privkey_tweak_add' was not declared in this scope return secp256k1_ecdsa_privkey_tweak_add(a.data(), b.data()); ^ utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)': utility/ec_keys.cpp:133:64: error: 'secp256k1_ecdsa_privkey_tweak_mul' was not declared in this scope return secp256k1_ecdsa_privkey_tweak_mul(a.data(), b.data()); ^ utility/ec_keys.cpp: In function 'bool libbitcoin::verify_public_key(const ec_point&)': utility/ec_keys.cpp:76:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ utility/ec_keys.cpp: In function 'bool libbitcoin::verify_private_key(const ec_secret&)': utility/ec_keys.cpp:82:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ utility/ec_keys.cpp: In function 'bool libbitcoin::ec_tweak_add(libbitcoin::ec_point&, const ec_secret&)': utility/ec_keys.cpp:116:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_point&, const ec_secret&)': utility/ec_keys.cpp:122:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ utility/ec_keys.cpp: In function 'bool libbitcoin::ec_add(libbitcoin::ec_secret&, const ec_secret&)': utility/ec_keys.cpp:128:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ utility/ec_keys.cpp: In function 'bool libbitcoin::ec_multiply(libbitcoin::ec_secret&, const ec_secret&)': utility/ec_keys.cpp:134:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ make[1]: * [utility/ec_keys.lo] Error 1 make[1]: Leaving directory '/usr/local/src/libbitcoin-git/src' make: * [all-recursive] Error 1 Xxxxx@ubuntu:/$ sx The program 'sx' is currently not installed. You can install it by typing: sudo apt-get install lrzsz
有沒有人知道為什麼會發生這種情況以及是否有解決方法?我最初在使用 Ubuntu 12.04 LTS 時遇到了更多問題,所以正如我所提到的,我已經升級到 14 LTS。
libsecp256k1 中有一個重大的 API 更改尚未在 libbitcoin 的主分支中解決。如果你想走那條路,它已經在他們的
develop
分支上得到了解決。我最幸運的是 mastercoin 的install-sx.sh腳本,該腳本從舊的未標記送出中提取,這些送出似乎可以和諧地工作。