libffi7 missing from Ubuntu (pip's python3-openssl appears to be built against the wrong version of libffi)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libffi (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Groovy |
Won't Fix
|
Undecided
|
Unassigned | ||
libffi7 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Groovy |
Triaged
|
Undecided
|
Unassigned | ||
pyopenssl (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Groovy |
Invalid
|
Undecided
|
Unassigned |
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/
return request('get', url, params=params, **kwargs)
File "/home/
return session.
File "/home/
resp = self.send(prep, **send_kwargs)
File "/home/
r = adapter.
File "/home/
resp = conn.urlopen(
File "/usr/lib/
httplib_
File "/usr/lib/
self.
File "/usr/lib/
conn.connect()
File "/usr/lib/
self.
File "/usr/lib/
context.
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
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)
tags: | added: rls-gg-incoming |
tags: | added: fr-1055 |
tags: | removed: rls-gg-incoming |
description: | updated |
summary: |
- python3-openssl appears to be built against the wrong version of libffi + libffi7 missing from Ubuntu (pip's python3-openssl appears to be built + against the wrong version of libffi) |
I've confirmed that setting up a virtualenv with the pyopenssl and requests packages from PyPI does not result in the same defect. If I get a chance, I'll try to put together a minimal test case to reproduce this.