Tcl Source Code

View Ticket
Login
Ticket UUID: 95a8293a2936e34cc8d0658c21e5214f1ca9b435
Title: Build failure with Aqua support on OS X 10.8 and 10.9
Type: Bug Version: 8.6.8
Submitter: ryandesign Created on: 2018-01-07 02:01:54
Subsystem: 52. Portability Support Assigned To: kevin_walzer
Priority: 5 Medium Severity: Minor
Status: Open Last Modified: 2018-01-07 14:02:01
Resolution: None Closed By: nobody
    Closed on:
Description:
Building tk 8.6.8 with the --enable-aqua configure flag fails on OS X
10.8 and 10.9 (not older or newer versions of macOS) with this error:

macosx/tkMacOSXXStubs.c:183:2: error: use of undeclared identifier 'NSOperatingSystemVersion'
        NSOperatingSystemVersion systemVersion = [[NSProcessInfo processInfo] operatingSystemVersion];
        ^

Although Gestalt was deprecated in OS X 10.8, it should report the
correct OS version number in 10.9 and earlier, and its replacement
NSOperatingSystemVersion was not introduced until OS X 10.10.

The fix is to change the condition under which Gestalt is used from
"#if MAC_OS_X_VERSION_MIN_REQUIRED < 1080"
to
"#if MAC_OS_X_VERSION_MIN_REQUIRED < 101000":

https://github.com/macports/macports-ports/blob/0a883ad388b2cbecf14f5ed674bfc9b6d2ce6f23/x11/tk/files/patch-macosx-tkMacOSXXStubs.c.diff

See also the MacPorts project's ticket about this issue:

https://trac.macports.org/ticket/55649
User Comments: kevin_walzer added on 2018-01-07 14:02:01:
Can you confirm that this patch already works in MacPorts?