[Bug 1903890] Re: libffi7 missing from Ubuntu (pip's python3-openssl appears to be built against the wrong version of libffi)
Steve Langasek
1903890 at bugs.launchpad.net
Mon Jun 27 20:45:18 UTC 2022
In doing some cleanup of the whitelist of Ubuntu packages for the i386
architecture, I ran across this issue because libffi7 is still in the
archive as of kinetic. The backwards-compatibility package has been in
the archive now for 3 release cycles, including an LTS; that seems like
it should be enough time for third-parties to have updated to not depend
on an old version of libffi.
I'm therefore going to go ahead and remove libffi7 from kinetic. If
someone still needs libffi7, please provide a complete step-by-step
reproducer for it because I'm not able to find any third-party binaries
(pip or lutris) that still require libffi7.
Removing packages from kinetic:
libffi7 3.3-5ubuntu1 in kinetic
libffi7 3.3-5ubuntu1 in kinetic amd64
libffi7 3.3-5ubuntu1 in kinetic arm64
libffi7 3.3-5ubuntu1 in kinetic armhf
libffi7 3.3-5ubuntu1 in kinetic i386
libffi7 3.3-5ubuntu1 in kinetic ppc64el
libffi7 3.3-5ubuntu1 in kinetic riscv64
libffi7 3.3-5ubuntu1 in kinetic s390x
Comment: Compatibility package, unmaintained, no apparent remaining users; LP: #1903890
1 package successfully removed.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to libffi in Ubuntu.
https://bugs.launchpad.net/bugs/1903890
Title:
libffi7 missing from Ubuntu (pip's python3-openssl appears to be built
against the wrong version of libffi)
Status in libffi package in Ubuntu:
Fix Released
Status in libffi7 package in Ubuntu:
Fix Released
Status in pyopenssl package in Ubuntu:
Invalid
Status in libffi source package in Groovy:
Won't Fix
Status in libffi7 source package in Groovy:
Triaged
Status in pyopenssl source package in Groovy:
Invalid
Bug description:
Ubuntu groovy and up upgraded to libffi8ubuntu1, thus making Ubuntu
incompatible with 3rd-party binaries that desire to use libffi7.
Let's backport and provide libffi7 runtime library only, for those.
Not sure how that would work with ctypes though.
---
I've just upgraded to Ubuntu 20.10 which comes with python3-openssl
version 19.0.1-2. It breaks (at least some) Python applications that
use the `requests` library to access HTTPS URLS. For instance, this
stack trace (note that I have clipped the first few frames from the
stack as they are proprietary):
File "/home/tkcook/.local/lib/python3.8/site-packages/requests/api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "/home/tkcook/.local/lib/python3.8/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/home/tkcook/.local/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/home/tkcook/.local/lib/python3.8/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/home/tkcook/.local/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 381, in _make_request
self._validate_conn(conn)
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 978, in _validate_conn
conn.connect()
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 342, in connect
self.ssl_context = create_urllib3_context(
File "/usr/lib/python3/dist-packages/urllib3/util/ssl_.py", line 289, in create_urllib3_context
context.verify_mode = cert_reqs
File "/usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py", line 438, in verify_mode
self._ctx.set_verify(_stdlib_to_openssl_verify[value], _verify_callback)
File "/usr/lib/python3/dist-packages/OpenSSL/SSL.py", line 1119, in set_verify
self._verify_helper = _VerifyHelper(callback)
File "/usr/lib/python3/dist-packages/OpenSSL/SSL.py", line 337, in __init__
self.callback = _ffi.callback(
SystemError: ffi_prep_closure(): bad user_data (it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libffi/+bug/1903890/+subscriptions
More information about the foundations-bugs
mailing list