Date: Tue, 30 Mar 2010 12:48:27 -0700 From: Doug Barton <dougb@FreeBSD.org> To: d@delphij.net Cc: kde@FreeBSD.org, Xin LI <delphij@delphij.net>, freebsd-ports@FreeBSD.org Subject: Re: x11-toolkits/qt4-gui fails with png and/or zlib.h off64_t Message-ID: <4BB2558B.8020401@FreeBSD.org> In-Reply-To: <4BB251D1.80505@delphij.net> References: <4BB23953.7000606@FreeBSD.org> <m/Qz6dRX93@dmeyer.dinoex.sub.org> <4BB24F6F.2080908@FreeBSD.org> <4BB251D1.80505@delphij.net>
next in thread | previous in thread | raw e-mail | index | archive | help
I can't comment intelligently on whether or not the fix below is "correct," but with it, qt4-qmake compiles. I'll move on to try recompiling the rest of qt4. Doug On 03/30/10 12:32, Xin LI wrote: > On 2010/03/30 12:22, Doug Barton wrote: >> Testing it again I see that I didn't go far enough up to find the real >> error, sorry Dirk. > >> The actual problem seems to be with zlib.h. This is from qt4-gui: > [...] >> -DQ_INTERNAL_QAPP_SRC -DQT_CORE_LIB -D_LARGEFILE64_SOURCE >> -D_LARGEFILE_SOURCE -I/usr/local/share/qt4/mkspecs/freebsd-g++ -I. > > There are some discussion about these _LARGEFILE64_SOURCE usage on zlib > developers' mailing list. > > To put it short, it's now believed that the usage of _LARGEFILE64_SOURCE > on FreeBSD is wrong. I'm not quite sure though, if I should use some > workaround over this, like Mac OS X did (newer zlib has a similar change > by requiring _LFS64_SOURCE): > > Index: zconf.h > =================================================================== > --- zconf.h (revision 205883) > +++ zconf.h (working copy) > @@ -375,7 +375,7 @@ > # endif > #endif > > -#ifdef _LARGEFILE64_SOURCE > +#if defined(_LARGEFILE64_SOURCE) && !defined(__FreeBSD__) > # include <sys/types.h> > #endif > > Index: zlib.h > =================================================================== > --- zlib.h (revision 205883) > +++ zlib.h (working copy) > @@ -1556,7 +1556,7 @@ > inflateBackInit_((strm), (windowBits), (window), \ > ZLIB_VERSION, sizeof(z_stream)) > > -#ifdef _LARGEFILE64_SOURCE > +#if defined(_LARGEFILE64_SOURCE) && !defined(__FreeBSD__) > ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); > ZEXTERN off64_t ZEXPORT gzseek64 OF((gzFile, off64_t, int)); > ZEXTERN off64_t ZEXPORT gztell64 OF((gzFile)); > > Cheers, -- ... and that's just a little bit of history repeating. -- Propellerheads Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BB2558B.8020401>