Skip to content
This repository has been archived by the owner on Aug 8, 2018. It is now read-only.

pyelliptic is depreciated by OpenSSL 1.1 #274

Open
qtleeq opened this issue Nov 12, 2017 · 2 comments
Open

pyelliptic is depreciated by OpenSSL 1.1 #274

qtleeq opened this issue Nov 12, 2017 · 2 comments

Comments

@qtleeq
Copy link

qtleeq commented Nov 12, 2017

System/environment

  • OS: Arch Linux
  • python version: 2.7.14
  • pyethapp version: pyethapp-1.5.0
  • installation method (pip & pypi/git & setup.py): pip2 install pyethapp

So when I do pip2 install pyethapp, everything installs fine, but when I try to call pyethapp from the shell, I get this error:

Traceback (most recent call last):
  File "/usr/bin/pyethapp", line 7, in <module>
    from pyethapp.app import app
  File "/usr/lib/python2.7/site-packages/pyethapp/app.py", line 15, in <module>
    from devp2p.app import BaseApp
  File "/usr/lib/python2.7/site-packages/devp2p/app.py", line 8, in <module>
    from devp2p import crypto
  File "/usr/lib/python2.7/site-packages/devp2p/crypto.py", line 7, in <module>
    import pyelliptic
  File "/usr/lib/python2.7/site-packages/pyelliptic/__init__.py", line 43, in <module>
    from .openssl import OpenSSL
  File "/usr/lib/python2.7/site-packages/pyelliptic/openssl.py", line 528, in <module>
    OpenSSL = _OpenSSL(libname)
  File "/usr/lib/python2.7/site-packages/pyelliptic/openssl.py", line 180, in __init__
    self.ECDH_OpenSSL = self._lib.ECDH_OpenSSL
  File "/usr/lib/python2.7/ctypes/__init__.py", line 379, in __getattr__
    func = self.__getitem__(name)
  File "/usr/lib/python2.7/ctypes/__init__.py", line 384, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/libcrypto.so.1.1: undefined symbol: ECDH_OpenSSL

A bit of searching led me to this issue: pyelliptic is depreciated by OpenSSL 1.1, and the main developer doesn't want to invest any more time into it: yann2192/pyelliptic#50

They suggest we use this python cryptography library: https://github.com/pyca/cryptography

@beccon4
Copy link

beccon4 commented Nov 18, 2017

I short-circuited the libcrypto.so.1.1 by symlinking it to 1.0 - then pyethapp worked around this but failed with another error:

File "/usr/local/lib/python2.7/dist-packages/devp2p/app.py", line 8, in
from devp2p import crypto
File "/usr/local/lib/python2.7/dist-packages/devp2p/crypto.py", line 27, in
from Crypto.Hash import keccak
ImportError: cannot import name keccak

Probably something else.

For the time beeing it might be a good idea to explicitly linkt pyethapp to the 1.0.2 version of libcrypto which is still available on debian

@AndreMiras
Copy link

AndreMiras commented Apr 29, 2018

Using the Golem maintained fork worked for me.
https://github.com/golemfactory/golem-messages/pull/112/files
So either through their index server like the pull request above or directly from GitHub like below:

pip install https://github.com/mfranciszkiewicz/pyelliptic/archive/1.5.10.tar.gz#egg=pyelliptic

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

No branches or pull requests

3 participants