Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Feb 2020 13:47:15 +1100
From:      Kubilay Kocak <koobs@FreeBSD.org>
To:        Willem Jan Withagen <wjw@digiware.nl>, python@freebsd.org
Subject:   Re: Missing symbol under tox in openssl stuff
Message-ID:  <3fe14206-cdbe-53e8-41e5-e471e78c6fec@FreeBSD.org>
In-Reply-To: <94312df8-3d70-76e4-4e83-b57bf592a06d@digiware.nl>
References:  <94312df8-3d70-76e4-4e83-b57bf592a06d@digiware.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
On 27/02/2020 10:53 pm, Willem Jan Withagen wrote:
> Hi,
> 
> I'm the first to acknowledge that I do not know enough of python.
> But still I can get by most of the times.
> 
> However during the tests of my Ceph port one of the tests complains:
> ==============
> 
> orchestrator/_interface.py:701: ImportError
> ------------------------------ Captured log call 
> -------------------------------
> ERROR    orchestrator._interface:_interface.py:391 _Promise failed
> Traceback (most recent call last):
>    File 
> "/home/jenkins/workspace/ceph-master/src/pybind/mgr/cephadm/module.py", 
> line 334, in do_work
>      res = self._on_complete_(*args, **kwargs)
>    File 
> "/home/jenkins/workspace/ceph-master/src/pybind/mgr/cephadm/module.py", 
> line 398, in call_self
>      return f(self, *inner_args)
>    File 
> "/home/jenkins/workspace/ceph-master/src/pybind/mgr/cephadm/module.py", 
> line 2352, in _create_grafana
>      return self._create_daemon('grafana', daemon_id, host)
>    File 
> "/home/jenkins/workspace/ceph-master/src/pybind/mgr/cephadm/module.py", 
> line 1874, in _create_daemon
>      j = self._generate_grafana_config()
>    File 
> "/home/jenkins/workspace/ceph-master/src/pybind/mgr/cephadm/module.py", 
> line 2288, in _generate_grafana_config
>      cert, pkey = create_self_signed_cert('Ceph', 'cephadm')
>    File 
> "/home/jenkins/workspace/ceph-master/src/pybind/mgr/mgr_util.py", line 
> 134, in create_self_signed_cert
>      from OpenSSL import crypto
>    File 
> "/home/jenkins/workspace/ceph-master/src/pybind/mgr/.tox/py3/lib/python3.7/site-packages/OpenSSL/__init__.py", 
> line 8, in <module>
>      from OpenSSL import crypto, SSL
>    File 
> "/home/jenkins/workspace/ceph-master/src/pybind/mgr/.tox/py3/lib/python3.7/site-packages/OpenSSL/crypto.py", 
> line 15, in <module>
>      from OpenSSL._util import (
>    File 
> "/home/jenkins/workspace/ceph-master/src/pybind/mgr/.tox/py3/lib/python3.7/site-packages/OpenSSL/_util.py", 
> line 6, in <module>
>      from cryptography.hazmat.bindings.openssl.binding import Binding
>    File 
> "/home/jenkins/workspace/ceph-master/src/pybind/mgr/.tox/py3/lib/python3.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", 
> line 15, in <module>
>      from cryptography.hazmat.bindings._openssl import ffi, lib
> ImportError: 
> /home/jenkins/workspace/ceph-master/src/pybind/mgr/.tox/py3/lib/python3.7/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so: 
> Undefined symbol "SSLv3_client_method"
> 
> ==============
> 
> And I have no idea how and why this complaint is here.
> If I check with openssl it seems that this version should be available 
> in version 1.1.1,d that is installed.
> And all packages are up to date.
> 
> Who is the casue of the error here?
> And how do I debug this....
> 
> --WjW

Looks like cryptography is compiled/linked inconsistently, probably 
against base *and* ports OpenSSl versions, or some OPTIONS in your 
openssl port have changed, but cryptography was not rebuilt

Rebuild cryptography (via ports), and try to reproduce

Alternatively, because tox installs dependencies itself in its own 
environments, its probably trying to install crytography manually (not 
via the port), which produces a broken cryptography Python package.

This is why we dont use tox for tests (as it bypasses ports). Use the 
test runner that tox itself invokes (pytest, nose, unittest, whatever)






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3fe14206-cdbe-53e8-41e5-e471e78c6fec>