Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

undefined symbol: secp256k1_keypair_xonly_pub #5

Open
yuvadm opened this issue Jan 17, 2022 · 2 comments
Open

undefined symbol: secp256k1_keypair_xonly_pub #5

yuvadm opened this issue Jan 17, 2022 · 2 comments

Comments

@yuvadm
Copy link

yuvadm commented Jan 17, 2022

Installed the library in a plain new venv running on Arch Linux with Python 3.10, gmp 6.2.1 and libffi 3.4.2 - build seems fine:

(venv) $ pip install --no-cache-dir secp256k1
Collecting secp256k1
  Downloading secp256k1-0.14.0.tar.gz (2.4 MB)
     |████████████████████████████████| 2.4 MB 799 kB/s 
Collecting cffi>=1.3.0
  Downloading cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (446 kB)
     |████████████████████████████████| 446 kB 7.2 MB/s 
Collecting pycparser
  Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
     |████████████████████████████████| 118 kB 7.9 MB/s 
Using legacy 'setup.py install' for secp256k1, since package 'wheel' is not installed.
Installing collected packages: pycparser, cffi, secp256k1
    Running setup.py install for secp256k1 ... done
Successfully installed cffi-1.15.0 pycparser-2.21 secp256k1-0.14.0

But on invocation getting this:

(venv) $ python -m secp256k1 privkey -p
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 187, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/lib/python3.10/runpy.py", line 146, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/usr/lib/python3.10/runpy.py", line 110, in _get_module_details
    __import__(pkg_name)
  File "/tmp/bug/venv/lib/python3.10/site-packages/secp256k1/__init__.py", line 5, in <module>
    from ._libsecp256k1 import ffi, lib
ImportError: /tmp/bug/venv/lib/python3.10/site-packages/secp256k1/_libsecp256k1.cpython-310-x86_64-linux-gnu.so: undefined symbol: secp256k1_keypair_xonly_pub

Any ideas where the linkage error is coming from?

@shafemtol
Copy link

I had the same problem, though it was complaining about a different symbol:

ImportError: [...]/.local/lib/python3.11/site-packages/secp256k1/_libsecp256k1.cpython-311-x86_64-linux-gnu.so: undefined symbol: secp256k1_nonce_function_bip340

Turns out the system package libsecp256k1-devel was interfering. It worked after I removed that package and reinstalled the Python package:

sudo dnf remove libsecp256k1-devel
pip uninstall secp256k1
pip install --no-cache-dir secp256k1

@nikicat
Copy link

nikicat commented Mar 11, 2023

I had the same problem with the secp256k1_keypair_xonly_pub symbol and removing system package helps.
Interesting why is it interfere with a system package?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants