Mail Archives: cygwin/2011/03/13/11:16:38
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
- Raw text -