Improper condition was introduced in 1.2.5 causing some applications (e.g. cgit) to fail due to conflicting declarations. References: - http://mail.madler.net/pipermail/zlib-devel_madler.net/2010-May/002249.html - http://bugs.debian.org/439980 - http://bugs.gentoo.org/show_bug.cgi?id=316377 - http://bugs.gentoo.org/show_bug.cgi?id=316855 - http://bugs.archlinux.org/task/19280 - https://bugs.launchpad.net/ubuntu/+source/libpciaccess/+bug/402178 --- zlib-1.2.5/zlib.h.orig 2010-04-20 06:12:48.000000000 +0200 +++ zlib-1.2.5/zlib.h 2010-05-24 21:28:52.465538337 +0200 @@ -1562,7 +1562,7 @@ * functions are changed to 64 bits) -- in case these are set on systems * without large file support, _LFS64_LARGEFILE must also be true */ -#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0 +#if (defined(_LARGEFILE64_SOURCE) || (_FILE_OFFSET_BITS-0 == 64)) && _LFS64_LARGEFILE-0 ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int)); ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile)); @@ -1578,14 +1578,6 @@ # define gzoffset gzoffset64 # define adler32_combine adler32_combine64 # define crc32_combine crc32_combine64 -# ifdef _LARGEFILE64_SOURCE - ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); - ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int)); - ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile)); - ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile)); - ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t)); - ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t)); -# endif #else ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *)); ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int));