Bug#844213: pyelliptic: FTBFS: AttributeError: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: ECDH_OpenSSL
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 +, 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.0 + +++ debian/control 2016-12-20 04:38:47.0 + @@ -2,7 +2,7 @@ Section: python Priority: optional Maintainer: Riley Baird -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 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')
Processed: Re: Bug#844213: pyelliptic: FTBFS: AttributeError: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: ECDH_OpenSSL
Processing control commands: > retitle -1 Does not support OpenSSL 1.1 Bug #844213 [src:pyelliptic] pyelliptic: FTBFS: AttributeError: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: ECDH_OpenSSL Changed Bug title to 'Does not support OpenSSL 1.1' from 'pyelliptic: FTBFS: AttributeError: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: ECDH_OpenSSL'. > forwarded -1 https://github.com/yann2192/pyelliptic/issues/50 Bug #844213 [src:pyelliptic] Does not support OpenSSL 1.1 Set Bug forwarded-to-address to 'https://github.com/yann2192/pyelliptic/issues/50'. > tags -1 + upstream Bug #844213 [src:pyelliptic] Does not support OpenSSL 1.1 Added tag(s) upstream. -- 844213: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=844213 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Processed: Re: Bug#844213: pyelliptic: FTBFS: AttributeError: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: ECDH_OpenSSL
Processing control commands: > retitle -1 Does not support OpenSSL 1.1 Bug #844213 [src:pyelliptic] Does not support OpenSSL 1.1 Ignoring request to change the title of bug#844213 to the same title > forwarded -1 https://github.com/yann2192/pyelliptic/issues/50 Bug #844213 [src:pyelliptic] Does not support OpenSSL 1.1 Ignoring request to change the forwarded-to-address of bug#844213 to the same value > tags -1 + upstream Bug #844213 [src:pyelliptic] Does not support OpenSSL 1.1 Ignoring request to alter tags of bug #844213 to the same tags previously set -- 844213: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=844213 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#844213: pyelliptic: FTBFS: AttributeError: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: ECDH_OpenSSL
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 +, 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. -- WBR, wRAR signature.asc Description: PGP signature
Bug#844213: pyelliptic: FTBFS: AttributeError: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: ECDH_OpenSSL
Source: pyelliptic Version: 1.5.7-1 Severity: serious Justification: fails to build from source User: reproducible-bui...@lists.alioth.debian.org Usertags: ftbfs X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org Dear Maintainer, pyelliptic fails to build from source in unstable/amd64: […] dh_auto_test -O--buildsystem=pybuild I: pybuild base:184: cd /home/lamby/temp/cdt.20161113133613.EaqJ9PdLlW.db.pyelliptic/pyelliptic-1.5.7/.pybuild/pythonX.Y_2.7/build; python2.7 -m unittest discover -v -- Ran 0 tests in 0.000s OK I: pybuild base:184: cd /home/lamby/temp/cdt.20161113133613.EaqJ9PdLlW.db.pyelliptic/pyelliptic-1.5.7/.pybuild/pythonX.Y_3.5/build; python3.5 -m unittest discover -v pyelliptic (unittest.loader._FailedTest) ... ERROR == ERROR: pyelliptic (unittest.loader._FailedTest) -- ImportError: Failed to import test module: pyelliptic Traceback (most recent call last): File "/usr/lib/python3.5/unittest/loader.py", line 462, in _find_test_path package = self._get_module_from_name(name) File "/usr/lib/python3.5/unittest/loader.py", line 369, in _get_module_from_name __import__(name) File "/home/lamby/temp/cdt.20161113133613.EaqJ9PdLlW.db.pyelliptic/pyelliptic-1.5.7/.pybuild/pythonX.Y_3.5/build/pyelliptic/__init__.py", line 43, in from .openssl import OpenSSL File "/home/lamby/temp/cdt.20161113133613.EaqJ9PdLlW.db.pyelliptic/pyelliptic-1.5.7/.pybuild/pythonX.Y_3.5/build/pyelliptic/openssl.py", line 528, in OpenSSL = _OpenSSL(libname) 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 -- Ran 1 test in 0.000s FAILED (errors=1) E: pybuild pybuild:276: test: plugin distutils failed with: exit code=1: cd /home/lamby/temp/cdt.20161113133613.EaqJ9PdLlW.db.pyelliptic/pyelliptic-1.5.7/.pybuild/pythonX.Y_3.5/build; python3.5 -m unittest discover -v dh_auto_test: pybuild --test -i python{version} -p 3.5 returned exit code 13 debian/rules:5: recipe for target 'build' failed make: *** [build] Error 25 […] The full build log is attached. Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `- pyelliptic.1.5.7-1.unstable.amd64.log.txt.gz Description: Binary data