On Sat, Nov 26, 2016 at 03:00:14PM +0500, Andrey Rahmatullin wrote:
> Control: retitle -1 Does not support OpenSSL 1.1
> Control: forwarded -1 https://github.com/yann2192/pyelliptic/issues/50
> Control: tags -1 + upstream
> 
> On Sun, Nov 13, 2016 at 01:38:17PM +0000, Chris Lamb wrote:
> >     File 
> > "/home/lamby/temp/cdt.20161113133613.EaqJ9PdLlW.db.pyelliptic/pyelliptic-1.5.7/.pybuild/pythonX.Y_3.5/build/pyelliptic/openssl.py",
> >  line 180, in __init__
> >       self.ECDH_OpenSSL = self._lib.ECDH_OpenSSL
> >     File "/usr/lib/python3.5/ctypes/__init__.py", line 360, in __getattr__
> >       func = self.__getitem__(name)
> >     File "/usr/lib/python3.5/ctypes/__init__.py", line 365, in __getitem__
> >       func = self._FuncPtr((name_or_ordinal, self))
> >   AttributeError: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined 
> > symbol: ECDH_OpenSSL
> Actually this means the module cannot work with libcrypto.so.1.1 as it
> expects functions that are not present anymore.
> Probably most of the used ones are still there but it still requires
> checking and patching because right now the module cannot be imported.

As a workaround, the attached patch works in combination with the 
following change to debian/control:

--- debian/control.old  2016-12-20 04:38:28.000000000 +0000
+++ debian/control      2016-12-20 04:38:47.000000000 +0000
@@ -2,7 +2,7 @@
 Section: python
 Priority: optional
 Maintainer: Riley Baird <bm-2cvqnduybau5do2dfjtrn7zbaj246s4...@bitmessage.ch>
-Build-Depends: debhelper (>= 9), dh-python, python-all, python-setuptools, 
python3-all, python3-setuptools
+Build-Depends: debhelper (>= 9), dh-python, python-all, python-setuptools, 
python3-all, python3-setuptools, libssl1.0.2
 Standards-Version: 3.9.6
 Vcs-Git: git://anonscm.debian.org/collab-maint/pyelliptic.git
 Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/pyelliptic.git
@@ -10,7 +10,7 @@
 
 Package: python-pyelliptic
 Architecture: all
-Depends: ${python:Depends}, ${misc:Depends}, openssl
+Depends: ${python:Depends}, ${misc:Depends}, openssl, libssl1.0.2
 Description: High level Python wrapper for OpenSSL (Python 2)
  PyElliptic is a Python module that provides high level access to the
  OpenSSL library, featuring elliptic curve cryptography (ECC), symmetric
@@ -33,7 +33,7 @@
 
 Package: python3-pyelliptic
 Architecture: all
-Depends: ${python3:Depends}, ${misc:Depends}, openssl
+Depends: ${python3:Depends}, ${misc:Depends}, openssl, libssl1.0.2
 Description: High level Python wrapper for OpenSSL (Python 3)
  PyElliptic is a Python module that provides high level access to the
  OpenSSL library, featuring elliptic curve cryptography (ECC), symmetric


> WBR, wRAR

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

Description: Use libcrypto.so.1.0.2
 The code does not work with libssl1.1
Author: Adrian Bunk <b...@stusta.de>
Bug-Debian: https://bugs.debian.org/844213

--- pyelliptic-1.5.7.orig/pyelliptic/openssl.py
+++ pyelliptic-1.5.7/pyelliptic/openssl.py
@@ -519,7 +519,7 @@ class _OpenSSL:
     def get_error(self):
         return OpenSSL.ERR_error_string(OpenSSL.ERR_get_error(), None)
 
-libname = ctypes.util.find_library('crypto')
+libname = "libcrypto.so.1.0.2"
 if libname is None:
     # For Windows ...
     libname = ctypes.util.find_library('libeay32.dll')

Reply via email to