user9382: I'm trying to install the SX (http://SX.dyne.org) tools using Ubuntu 14 LTS following the installation instructions (http://sx.dyne.org/introduction.html#installation). 

I use wget to download the SH script to root, then...
install with sudo bash ./install-sx.sh

All goes well until this point (terminal window output edited for brevity ie the start if the installation looks fine):
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

Has anyone got any idea why this is occurring and if there's a workaround? I initially had more issues with Ubuntu 12.04 LTS so have upgraded to 14 LTS as I mentioned. 

user21017: There was a breaking API change in libsecp256k1 that hasn't been addressed in libbitcoin's master branch. It has been addressed on their develop branch if you want to go down that road.
I have had the most luck with mastercoin's install-sx.sh script that pulls from older un-tagged commits that seem to work in harmony. 

9382: <p>I'm trying to install the SX (<a href="http://SX.dyne.org" rel="nofollow">http://SX.dyne.org</a>) tools using Ubuntu 14 LTS following the installation instructions (<a href="http://sx.dyne.org/introduction.html#installation" rel="nofollow">http://sx.dyne.org/introduction.html#installation</a>). </p>

<ol>
<li>I use <strong>wget</strong> to download the SH script to root, then...</li>
<li>install with <code>sudo bash ./install-sx.sh</code></li>
</ol>

<p>All goes well until this point (terminal window output edited for brevity ie the start if the installation looks fine):</p>

<pre><code>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&amp;, 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&amp;)':
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&amp;)':
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&amp;, const ec_secret&amp;)':
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&amp;, const ec_secret&amp;)':
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&amp;, const ec_secret&amp;)':
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&amp;, const ec_secret&amp;)':
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&amp;)':
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&amp;)':
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&amp;, const ec_secret&amp;)':
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&amp;, const ec_secret&amp;)':
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&amp;, const ec_secret&amp;)':
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&amp;, const ec_secret&amp;)':
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
</code></pre>

<p>Has anyone got any idea why this is occurring and if there's a workaround? I initially had <strong>more</strong> issues with Ubuntu 12.04 LTS so have upgraded to 14 LTS as I mentioned. </p>
 21017: <p>There was a <a href="https://github.com/bitcoin/secp256k1/commit/ae6bc76e32016063a591399a7a2d7bac646603bc" rel="nofollow">breaking API change in libsecp256k1</a> that hasn't been addressed in libbitcoin's master branch. It has been addressed on their <a href="https://github.com/libbitcoin/libbitcoin/commit/aa39fd68b9042a341ae8a50bcd5941327a55acac" rel="nofollow"><code>develop</code> branch</a> if you want to go down that road.</p>

<p>I have had the most luck with mastercoin's <a href="https://github.com/mastercoin-MSC/install-msc/blob/master/res/install-sx.sh" rel="nofollow">install-sx.sh</a> script that pulls from older un-tagged commits that seem to work in harmony. </p>
