electrum: can't find libsecp256k1 library error

I ran all of the installation instructions in the development version’s README, but I got this error.

I have bitcoin core v0.18 installed, so shouldn’t I have libsecp256k1 installed?

(venv) zach@zach-desktop ~/electrum/electrum $ python3.6 run_electrum
Traceback (most recent call last):
  File "run_electrum", line 80, in <module>
    from electrum.logging import get_logger, configure_logging
  File "/home/zach/electrum/electrum/electrum/__init__.py", line 3, in <module>
    from .wallet import Wallet
  File "/home/zach/electrum/electrum/electrum/wallet.py", line 50, in <module>
    from .simple_config import get_config
  File "/home/zach/electrum/electrum/electrum/simple_config.py", line 13, in <module>
    from . import constants
  File "/home/zach/electrum/electrum/electrum/constants.py", line 30, in <module>
    from . import bitcoin
  File "/home/zach/electrum/electrum/electrum/bitcoin.py", line 34, in <module>
    from . import ecc
  File "/home/zach/electrum/electrum/electrum/ecc.py", line 45, in <module>
    do_monkey_patching_of_python_ecdsa_internals_with_libsecp256k1()
  File "/home/zach/electrum/electrum/electrum/ecc_fast.py", line 189, in do_monkey_patching_of_python_ecdsa_internals_with_libsecp256k1
    raise Exception('libsecp256k1 library not available. '
Exception: libsecp256k1 library not available. Verifying Lightning channels is too computationally expensive without libsecp256k1, aborting.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 1
  • Comments: 17 (8 by maintainers)

Commits related to this issue

Most upvoted comments

a lazy solution will be:

sudo apt install libsecp256k1-dev

To make it work, I had to install as per these instructions: https://github.com/bitcoin-core/secp256k1#build-steps

Also see https://github.com/spesmilo/electrum-docs/blob/master/libsecp256k1-linux.rst

Note: since merging the lightning branch, libsecp256k1 became a mandatory dependency (was optional before). The README was not updated since.

  • We need to decide whether we want libsecp256k1 to be mandatory; or test whether lightning is enabled and only hard fail then.
  • The README should be updated
  • tar.gz source distributables also need to be considered

I don’t know how to bypass it. I have installed libsecp256k1 on my system. libsecp256k1.s.0 is in /usr/local/lib. I can’t run the new version from a clean build. What do I do?

That’s a warning, not an error. Try symlinking it to /usr/lib, see: https://github.com/spesmilo/electrum-docs/blob/master/libsecp256k1-linux.rst#symlink-so-file