From: Keith N. <k.j...@us...> - 2025-04-29 11:54:54
|
Hi All, I am a bit concerned about requiring a recent version of glibc (2.34, released on 2021-08-02) for two reasons. First, if 2.34-specific features were actually used, Tcl/Tk 9.1 would become unusable on systems with older glibc. Second, many systems use gcc but not glibc, and there is the risk of making Tcl/Tk 9.1 unusable on these systems too. >From the TIP: {Where applicable, Tcl 9.1 requires * C compiler supporting the mandatory features of the C11 standard, * C runtime / syscall with a 64 bit time_t structure to avoid the year 2038 Problem. * glibc >= 2.34 if using gcc * POSIX.1-2008 API on non-Windows platforms (is this correct?) * SDK 10.0.20348.0 (version 2104) or later on Windows (needed for updated C11 support in UCRT). MSVCRT is not supported due to C11 requirements. * X11 >= R6 in X Windows environments (Tk only** * autoconf >= 2.72 when using autoconf based builds } It took some digging to try to understand the motivation for the glibc proposal (I think it's 2038). Would it be possible for the TIP to explain the reasons for each non-obvious proposal? I suggest removing the line that refers to glibc, and replacing it with a statement of the features that the libc must support. These might be, for example: * C library that implements: ** POSIX.1-2008 API (Issue 7, 2008 version) ** the mandatory features of the C11 standard for libc ** a 64 bit time_t structure to avoid the year 2038 problem I suggest replacing the time_t requirement with a recommendation, and implementing a workaround if 64-bit time_t is not available: the reason is that even with the current glibc, 64-bit time_t may or may not not be present on 32-bit Linux systems. The 2038 problem is painful, and I will attempt to discuss it in a separate message. Apart from 64-bit time_t on 32-bit systems, the features listed above are implemented by glibc 2.16 (released in June 2012). My AI friend Grok 3 provides the following information (modulo hallucinations): Support for the mandatory parts of the C11 standard library was added to the following platforms as follows: * OpenBSD 5.3 (May 2012) * glibc 2.16 (June 2012) * FreeBSD 10.0 (January 2014) * NetBSD 8.0 (July 2018) * Solaris 11.4 (August 2018) I am a bit surprised by the lateness of adoption by Solaris. If the information is correct, it is a reminder that even system software with paying customers can be slow in adopting new standards. Best wishes, Keith. On Tue, 2025-04-01 at 21:53 +0200, Harald Oehlmann wrote: > Folks, > TIP 715 was updated by the given information. > > Thanks for any comment ! > > Harald > > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core |