On Sun, May 14, 2023 at 12:25:28PM -0400, Judah Kocher wrote: > After updating one of my routers to OpenBSD 7.3, my python scripts that > update various public DNS records when my public IP changes started failing > with generic segfaults. I did see the note in the OpenBSD Upgrade Guide > about 3.10 being the new default so I ran pkg_add -u which updated python to > 3.10 and now the same scripts fail but with this error: > > ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' > module is compiled with LibreSSL 3.7.2. See: > https://github.com/urllib3/urllib3/issues/2168 > > The included github link mentions that older versions of SSL are no longer > usable with the urllib library but makes no mention of LibreSSL. > > Some web searching has not turned up any details around this. I also do not > see python 3.9 as an installable option via pkg_add, just 3.10 and 3.11. > Does this mean that installing python via pkg_add installs a python version > that is incompatible with LibreSSL? When I look at the info for the OpenSSL > package it includes this warning: > > This package is not intended for general-purpose use in OpenBSD - it > is present for test/comparison purposes, and occasionally to provide > support for applications which cannot be made compatible with LibreSSL > (mostly due to use of removed APIs); in the latter case care must be > taken - it will conflict if library dependencies use LibreSSL libraries. > > What would be the best way to resolve this issue? I would guess that plenty > of others are using python with OpenBSD so there must be a recommended > resolution, but I have not found it documented anywhere yet. > > > Thanks! > > Judah >
The problem is very likely a version of urllib3 installed via pip, and has little to do with the python version itself. -Otto