From owner-freebsd-ports@FreeBSD.ORG Sat Mar 27 00:46:28 2010 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7E663106566C; Sat, 27 Mar 2010 00:46:28 +0000 (UTC) (envelope-from des@des.no) Received: from smtp.des.no (smtp.des.no [194.63.250.102]) by mx1.freebsd.org (Postfix) with ESMTP id 382B88FC12; Sat, 27 Mar 2010 00:46:27 +0000 (UTC) Received: from ds4.des.no (des.no [84.49.246.2]) by smtp.des.no (Postfix) with ESMTP id 35EA61FFC58; Sat, 27 Mar 2010 00:46:27 +0000 (UTC) Received: by ds4.des.no (Postfix, from userid 1001) id 13390844DA; Sat, 27 Mar 2010 01:46:27 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: d@delphij.net References: <4BACFE18.7010309@delphij.net> <86wrwylji0.fsf@ds4.des.no> <4BAD509B.3080805@delphij.net> Date: Sat, 27 Mar 2010 01:46:26 +0100 In-Reply-To: <4BAD509B.3080805@delphij.net> (Xin LI's message of "Fri, 26 Mar 2010 17:26:03 -0700") Message-ID: <86ljdelhgd.fsf@ds4.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.95 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: ports@freebsd.org, the_paya@gentoo.org, Alexander Logvinov , freebsd-arch@freebsd.org Subject: Re: [RFC] Reduce namespace pollution on zlib.h X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Mar 2010 00:46:28 -0000 Xin LI writes: > The problem is that some third party software thinks that they need to > define _LARGEFILE64_*, which will break zlib.h on FreeBSD :( Then that third-party software is broken and needs to be fixed. _LARGEFILE64_SOURCE is (supposed to be) used to expose the stat64() API. FreeBSD does not have stat64(). Any application that defines it and then calls stat() instead of stat64() is broken to begin with. Any application that defines it and then calls stat64() will not compile on FreeBSD. See sections 3.3.2 and 3.1 of this document: http://www.unix.org/version2/whatsnew/lfs20mar.html On Linux, it's a no-op, because while the kernel has separate 32-bit stat() and 64-bit stat64() syscalls, glibc aliases stat() to stat64(). DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no