Skip to content

configure option for epoll disable #138850

Description

@mtelka

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.

Thank you.

Linked PRs

Activity

  1. encukou commented on Feb 13, 2026

    @encukou
    Member

    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.

  2. added
    pendingThe issue will be closed if no feedback is provided
    on Feb 13, 2026
  3. encukou commented on Feb 27, 2026

    @encukou
    Member

    I'll close for now; let's reopen if you want to work on a configure patch.

  4. added a commit that references this issue on Mar 10, 2026
  5. removed
    pendingThe issue will be closed if no feedback is provided
    on Mar 25, 2026
  6. vstinner commented on Mar 27, 2026

    @vstinner
    Member

    Here are patches for Python 3.7, 3.9, 3.12, and 3.13.

    Copy of the Python 3.13 patch description:

    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).

  7. added a commit that references this issue on Mar 30, 2026
  8. added a commit that references this issue on Apr 16, 2026
  9. added a commit that references this issue on Apr 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    OS-unsupportedbuildThe build process and cross-buildtype-featureA feature request or enhancement

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions