Ticket UUID: | 07eb49661ae9a183957cf732bbe5a544fed034c2 | |||
Title: | Change to genStubs.tcl between 8.6 and 8.7 breaks packages for macOS. | |||
Type: | Bug | Version: | ||
Submitter: | marc_culler | Created on: | 2020-08-29 20:13:57 | |
Subsystem: | - New Stub Entries | Assigned To: | jan.nijtmans | |
Priority: | 5 Medium | Severity: | Minor | |
Status: | Closed | Last Modified: | 2020-09-16 15:43:39 | |
Resolution: | Fixed | Closed By: | jan.nijtmans | |
Closed on: | 2020-09-16 15:43:39 | |||
Description: |
An example of a package which breaks for 8.7 is tkTable. In tkInt.decls the X stubs are marked with platform macosx. In 8.6 the macosx platform is guarded with the line: #ifdef MAC_OSX_TK /* AQUA */ For 8.7 the genStubs.tcl script was changed, so that the macosx platform is instead guarded by the line: #ifdef MAC_OSX_TCL /* MACOSX */ Packages such as tkTable written for 8.6 define MAC_OSX_TK when USE_STUBS is defined. But they do not define MAC_OSX_TCL. Consequently when building such a package there is a linker error reporting a missing symbol for each X stub that the package uses. There is a simple fix, which was not so simple to diagnose, however. That is to reclassify the X stubs for macOS as aqua instead of macosx. I will commit a bug-fix branch containing this change. | |||
User Comments: |
jan.nijtmans added on 2020-08-29 20:36:43:
Fix committed to trunk now. I'll explain later. jan.nijtmans added on 2020-08-29 20:25:14: Well, there was a reason for this change, therefore I propose a different solution in Tk only. marc_culler (claiming to be Marc Culler) added on 2020-08-29 20:21:46: Note: This ticket was submitted to Tcl since the change that led to the problem was in Tcl. But the fix is actually in Tk. So this could be regarded as a Tk bug. The Tk changes which should have accompanied the Tcl changes were not made. |
