Skip to content

Avoid falling back to deprecated Apple-supplied Tcl/Tk 8.5 on macOS builds for 3.8, 3.9, and 3.10 #115436

Closed as not planned
@ned-deily

Description

@ned-deily

The Apple-supplied Tcl and Tk frameworks on macOS releases have been deprecated and not updated in years. They are ancient 8.5.9 versions that have many known critical problems and should not be being used by anyone at this point. As of Python 3.11, we no longer fall back to using the system version if no other Tcl/Tk libraries are found and simply skip building the _tkinter extension module in that case. But we still do for older branches that are in the security-fix-only phase of their life, currently 3.8, 3.9, and 3.10, and this misbehavior can cause CI and/or buildbot tests for these branches to fail.

Since properly running GUI tests are difficult in this environment anyway, the attached PR removes the fallback check in setup.py for the system-supplied Tcl/Tk on macOS. For these branches, no other behavior is changed: it is still possible to specify locations for Tcl/Tk headers and libs using the --with-tcltk-includes= and --with-tcltk-libs= ./configure options and, on 3.10, through the use of pkg-config. (Starting with 3.11, the --with-tcltk-* options have been removed in favor of generalized *_CFLAGS= and *_LIBS= ./configure options along with full pkg-config support.)

Linked PRs

Metadata

Metadata

Assignees

Labels

3.10only security fixes3.8 (EOL)end of life3.9only security fixesOS-macbuildThe build process and cross-build

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions