On Mar 13 16:07, David Sastre wrote: > On Sun, Mar 13, 2011 at 01:47:29PM +0000, ymcp wrote: > > I'm trying to build the latest gzip-1.3.12-2 from source, following > > the instructions in "/usr/src/gzip-1.3.12-2/INSTALL", but get some > > errors during the "make" step. > > > > ------------------------------------------------------------------- > > ///usr/include/sys/stat.h:165: error: conflicting types for `futimens' > > ------------------------------------------------------------------- > > Hello, > > I can confirm that. > > As a workaround, I've tested building gzip-1.4 from source using the > a simple cygport file (below), taking advantage of gzip building OOTB. > It builds OK and all tests are passed successfully. > (Proper packaging still requires a setup.hint and a README, of course). > > $ cat gzip-1.4-1.cygport > SRC_URI="http://ftp.gnu.org/gnu/${PN}/${P}.tar.xz" > HOMEPAGE="http://ftp.gnu.org/gnu/${PN}/" > > Maybe this is a good chance to promote gzip to current upstream > version? > > Also, could the following change in /usr/include/sys/stat.h be related? > > Newlib ChangeLog > > 2008-04-24 Corinna Vinschen > > * libc/include/sys/stat.h (UTIME_NOW): Define for Cygwin. > (UTIME_OMIT): Ditto. > (utimensat): Declare for Cygwin. > (futimens): Ditto. > > 158 #if defined (__CYGWIN__) && !defined(__INSIDE_CYGWIN__) > 159 int _EXFUN(fchmodat, (int, const char *, mode_t, int)); > 160 int _EXFUN(fstatat, (int, const char *, struct stat *, int)); > 161 int _EXFUN(mkdirat, (int, const char *, mode_t)); > 162 int _EXFUN(mkfifoat, (int, const char *, mode_t)); > 163 int _EXFUN(mknodat, (int, const char *, mode_t, dev_t)); > 164 int _EXFUN(utimensat, (int, const char *, const struct timespec *, int)); > 165 int _EXFUN(futimens, (int, const struct timespec *)); > 166 #endif > > Did it break gzip-1.3 (2007)?
Newlib's declaration of futimens is compatible with the POSIX standard. The error message seems to point to zlib defining its own version of futimens with a different prototype as the standard, without checking if the underlying system already provides this function. This isn't Cygwin's fault. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple