Tcl Source Code

View Ticket
Bounty program for improvements to Tcl and certain Tcl packages.
Ticket UUID: 43d371ac19014f6f3a15f0ed1757794a7ff9d76d
Title: Usage of exit() without including <stdlib.h> in unix/configure
Type: Bug Version: core-8-6-branch
Submitter: chrstphrchvz Created on: 2020-12-29 19:30:56
Subsystem: 53. Configuration and Build Tools Assigned To: jan.nijtmans
Priority: 5 Medium Severity: Minor
Status: Closed Last Modified: 2021-01-04 09:59:02
Resolution: Fixed Closed By: jan.nijtmans
    Closed on: 2021-01-04 09:59:02

Using Xcode 12 or later on macOS, unix/configure reports:

checking for ANSI C header files... no

This is because the test checking the behavior of islower()/toupper() implicitly declares exit(), which considered an error by Xcode 12 (due to Apple ARM64 ABI requirements). The test should either include <stdlib.h> or alternatively use return instead of exit().

The same issue applies to Tk 8.6's unix/configure. This issue has disappeared on occasion due to usage of more recent autoconf. Tcl/Tk 8.7 and later do not appear to be affected.

User Comments: jan.nijtmans added on 2021-01-04 09:59:02:

Adated Tcl-specific autoconf now:, so closing.

jan.nijtmans added on 2020-12-29 23:03:56:

Fixed now in all branches, by directly patching the "configure" script.

Actually, the "autoconf" script which generates "configure" should be adapted to generate this additional include. Will do that later, therefore keeping this ticket to "pending"