Hi Bruno,
Bruno Haible via Gnulib discussion list <[email protected]> writes:
> The CI, now with gcc 14, reports a compilation error on Solaris 11 OmniOS:
I saw this yesterday as well but didn't have the time to complete a fix.
If you look in <unistd.h> you will see something like the following:
#if defined _XPG4_2
extern extern int gethostname (char *name, size_t len);
#else
extern extern int gethostname (char *name, int len);
#endif
Something similar happens for accept with socklen_t * as the third
argument instead of void * when _XPG4_2 is defined. And so on for the
other functions.
The _XPG4_2 macro is an internal macro that gets defined in
/usr/include/sys/feature_tests.h. There is more commentary in that file
but here should be the most important parts:
* Feature Test Macro Specification
* ------------------------------------------------ -------------
* _XOPEN_SOURCE XPG3
* _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
* _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
* _XOPEN_SOURCE = 500 XPG5
* _XOPEN_SOURCE = 600 (or POSIX_C_SOURCE=200112L) XPG6
* _XOPEN_SOURCE = 700 (or POSIX_C_SOURCE=200809L) XPG7
* _XOPEN_SOURCE = 800 (or POSIX_C_SOURCE=202405L) XPG8
I was thinking maybe a check should be added to m4/extensions.m4 (or the
upstream version in Autoconf?). What do you think about this?
Collin