can't compile coreutils-9.3 any more after upgrade to cygwin-3.4.8
Mark Geisert
mark@maxrnd.com
Thu Aug 24 21:39:36 GMT 2023
Hi Denis,
Thanks for the report. More below...
Denis Excoffier via Cygwin wrote:
> Hello,
> When i try to compile coreutils-9.3 under cygwin-3.4.8 i get the following error messages (see below).
> There seems to be a kind of loop in the hierarchy of #includes.
> Moreover, with cygwin-3.4.7, this is ok. Also, if under cygwin-3.4.8 i remove the 2 #includes from /usr/include/sys/cpuset.h,
> this is also ok.
>> Regards,
>> Denis Excoffier.
>>>> In file included from /usr/include/sys/signal.h:23,
> from /usr/include/signal.h:6,
> from ./lib/signal.h:52,
> from /usr/include/time.h:158,
> from ./lib/time.h:47,
> from ./lib/sys/stat.h:44,
> from ./lib/fcntl.h:64,
> from ./lib/unistd.h:99,
> from ./lib/stdlib.h:98,
> from /usr/include/sys/cpuset.h:12,
> from /usr/include/sys/_pthreadtypes.h:12,
> from /usr/include/sys/types.h:221,
> from ./lib/sys/types.h:39,
> from ./lib/stdio.h:69,
> from src/chroot.c:21:
> /usr/include/cygwin/signal.h:121:3: error: unknown type name 'pthread_attr_t'
> 121 | pthread_attr_t *sigev_notify_attributes; /* notification attributes */
> | ^~~~~~~~~~~~~~
> In file included from /usr/include/signal.h:6,
> from ./lib/signal.h:52,
> from /usr/include/time.h:158,
> from ./lib/time.h:47,
> from ./lib/sys/stat.h:44,
> from ./lib/fcntl.h:64,
> from ./lib/unistd.h:99,
> from ./lib/stdlib.h:98,
> from /usr/include/sys/cpuset.h:12,
> from /usr/include/sys/_pthreadtypes.h:12,
> from /usr/include/sys/types.h:221,
> from ./lib/sys/#include <sys/cpuset.h>types.h:39,
> from ./lib/stdio.h:69,
> from src/chroot.c:21:
> /usr/include/sys/signal.h:227:29: error: expected ')' before 'int'
> 227 | int pthread_kill (pthread_t, int);
> | ^~~~
> | )
ISTM the above could be fixed by moving "#include <sys/cpuset.h>" after all the
typedefs in <sys/_pthreadtypes.h>. That would be an odd location for an #include
though. Another approach would be to have explicit external refs for the needed
two functions in <sys/cpuset.h> and remove the #includes there.
> In file included from /usr/include/sys/stat.h:22,
> from ./lib/sys/stat.h:47,
> from ./lib/fcntl.h:64,
> from ./lib/unistd.h:99,
> from ./lib/stdlib.h:98,
> from /usr/include/sys/cpuset.h:12,
> from /usr/include/sys/_pthreadtypes.h:12,
> from /usr/include/sys/types.h:221,
> from ./lib/sys/types.h:39,
> from ./lib/stdio.h:69,
> from src/chroot.c:21:
> /usr/include/cygwin/stat.h:27:3: error: unknown type name 'timestruc_t'
> 27 | timestruc_t st_atim;
> | ^~~~~~~~~~~
> /usr/include/cygwin/stat.h:28:3: error: unknown type name 'timestruc_t'
> 28 | timestruc_t st_mtim;
> | ^~~~~~~~~~~
> /usr/include/cygwin/stat.h:29:3: error: unknown type name 'timestruc_t'
> 29 | timestruc_t st_ctim;
> | ^~~~~~~~~~~
> /usr/include/cygwin/stat.h:32:3: error: unknown type name 'timestruc_t'
> 32 | timestruc_t st_birthtim;
> | ^~~~~~~~~~~
I don't have an answer for these. Awaiting more input from our wizards. I'm
willing to submit the patch for any agreed solution.
..mark
More information about the Cygwin
mailing list