You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The illumos implementation of epoll is not good enough to be used by Python and so OpenIndiana modifies the configure script to make sure the epoll is not detected (and so not used). Here are patches for Python 3.7, 3.9, 3.12, and 3.13.
It would be great if there is some configure option to disable epoll so we do not need to cary these patches.
Under the unsupported platforms policy, I think a PR adding a --without-epoll option would be acceptable. Do you want to write one?
If you can modify pyconfig.h after configuring, consider sedding out #define HAVE_EPOLL 1 out, or undefining it at the end. That might need fewer adjustments between the releases.
Without this patch, python detects and uses epoll which only exists in
OmniOS for lx zones and Linux compatibility. It is not quite the same as
the Linux implementation and can cause socket related failures in python.
There is no nice way to tell configure that we don't have it
(pkgsrc get around this by installing a broken epoll.h into the build
chroot area).
Activity
encukou commentedon Feb 13, 2026
Under the unsupported platforms policy, I think a PR adding a
--without-epolloption would be acceptable. Do you want to write one?If you can modify
pyconfig.hafter configuring, considersedding out#define HAVE_EPOLL 1out, or undefining it at the end. That might need fewer adjustments between the releases.encukou commentedon Feb 27, 2026
I'll close for now; let's reopen if you want to work on a
configurepatch.pythongh-138850: Add --disable-epoll to configure
vstinner commentedon Mar 27, 2026
Copy of the Python 3.13 patch description:
gh-138850: Add --disable-epoll to configure (GH-145768)
Merge remote-tracking branch 'upstream/main' into tachyon-ndjson-kole…
pythongh-138850: Add --disable-epoll to configure (pythonGH-145768)
pythongh-138850: Add --disable-epoll to configure (pythonGH-145768)