On Feb 9 20:50, Marco Atzeri wrote: > > > On 06/02/2014 10:01, Corinna Vinschen wrote: > >On Feb 6 08:29, Marco Atzeri wrote: > >>on cygwin-1.7.28 64 bit but not on cygwin-1.7.27, > >>(only system difference) compiling octave I see: > >> > >>---------------------------------------------------------------- > >>/pub/devel/octave/octave-3.8.0-2/src/octave-3.8.0/liboctave/system/oct-passwd.cc > >>:114:25: error: '::getpwent' has not been declared > >> return octave_passwd (::getpwent (), msg); > >> ^ > >>[...] > >>Is something slightly changed in the relative system headers ? > > > >I don't know anything about octave, but what has changed is that newlib > >is finally introducing BSD-like visibility macros. The pwd.h header now > >contains this: > > > > #if __XSI_VISIBLE >= 500 > > struct passwd *getpwent (void); > > void setpwent (void); > > void endpwent (void); > > #endif > > > >The default settings per the sys/cdefs.h header are: > > > > #define __POSIX_VISIBLE 200809 > > #define __XSI_VISIBLE 700 > > #define __BSD_VISIBLE 1 > > #define __ISO_C_VISIBLE 2011 > > > >unless your environment defines one of > > > > _XOPEN_SOURCE > > _POSIX_C_SOURCE > > _ANSI_SOURCE > > _C99_SOURCE > > _C11_SOURCE > > _GNU_SOURCE > > > >Have a look at the end of /usr/include/sys/cdefs.h, it explains things. > > > > > >Corinna > > > > probably I am missing something obvious, but should not > > /usr/include/sys/cdefs.h > > be included in some way in > /usr/include/pwd.h > > to make working the > > #if __XSI_VISIBLE >= 500 > struct passwd *getpwent (void); > void setpwent (void); > void endpwent (void); > #endif > > ?
You are oh so right. I'm just uploading a new cygwin-1.7.18-2 package which fixes this and the sys/file.h bug. HTH, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
pgpIhBb0BD49D.pgp
Description: PGP signature