On Aug 24 14:39, Mark Geisert via Cygwin wrote:
> 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.
> > 
> > [...]
> > /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.

Usually it's easily fixable. There's typically no loop because
of the guards, e.g.

  #ifndef _SYS_CPUSET_H_
  #define _SYS_CPUSET_H_

but some guarding can have side effects.

However, somebody needs to come up *at least* with a simple reproducer.


Corinna

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to