From owner-freebsd-standards@FreeBSD.ORG Thu Jan 8 13:34:02 2004 Return-Path: Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 44D5816A4CE; Thu, 8 Jan 2004 13:34:02 -0800 (PST) Received: from rwcrmhc11.comcast.net (rwcrmhc11.comcast.net [204.127.198.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4155243D2F; Thu, 8 Jan 2004 13:33:50 -0800 (PST) (envelope-from rodrigc@crodrigues.org) Received: from h00609772adf0.ne.client2.attbi.com ([66.31.45.197]) by comcast.net (rwcrmhc11) with ESMTP id <20040108213349013008hacje>; Thu, 8 Jan 2004 21:33:49 +0000 Received: from h00609772adf0.ne.client2.attbi.com (localhost.crodrigues.org [127.0.0.1])i08LXp7d041872; Thu, 8 Jan 2004 16:33:51 -0500 (EST) (envelope-from rodrigc@h00609772adf0.ne.client2.attbi.com) Received: (from rodrigc@localhost)i08LXoH0041871; Thu, 8 Jan 2004 16:33:50 -0500 (EST) (envelope-from rodrigc) Date: Thu, 8 Jan 2004 16:33:50 -0500 From: Craig Rodrigues To: Mark Linimon Message-ID: <20040108213350.GA41844@crodrigues.org> References: <200401081510.39015.linimon@lonesome.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200401081510.39015.linimon@lonesome.com> User-Agent: Mutt/1.4.1i cc: freebsd-gnats-submit@FreeBSD.org cc: freebsd-standards@FreeBSD.org cc: harbour@netfang.net Subject: Re: ports/52016: New port: lang/harbour - A Clipper-compatible compiler X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jan 2004 21:34:02 -0000 Hi, Look at the latest POSIX spec here: http://www.opengroup.org/onlinepubs/007904975/basedefs/unistd.h.html According to that web page, macros such as _POSIX_SYNCHRONIZED_IO can have values of -1, 0, or > 0. If the constant is defined to be -1, then that means the feature is not supported. ( This is what it is defined as on FreeBSD, insdie ). You need to change the code in your port to do something like: #if defined(_POSIX_SYNCHRONIZED_IO) && (_POSIX_SYNCHRONIZED_IO > 0) /* Use the fdatasync or whatever here */ #endif On Thu, Jan 08, 2004 at 03:10:39PM -0600, Mark Linimon wrote: > [mcl's cited compile error:] > > > ../../../../source/rtl/bsd/gcc/librtl.a(filesys.o): In function > > `hb_fsCommit': > > /usr/ports/lang/harbour/work/harbour/source/rtl/bsd/gcc/../../filesys.c:14 > >92: undefined reference to `fdatasync' > > [the submitter replied:] > > The hb_fsCommit function in filesys.c only attempts to use fdatasync if > _POSIX_SYNCHRONIZED_IO is defined, so this error appears to be due to a bug > in the POSIX library implementation in GCC on -current. The fdatasync > function is a POSIX function that appears to me to be mandated to be > present, even if unimplemented, if _POSIX_SYNCHRONIZED_IO is defined in > unistd.h. > > I'm not sure if I should add a FreeBSD-specific workaround for the second > error based on certain (currently unknown to me) values of __GNUC__ or > what... > > ------------------------------------------------------- > > _______________________________________________ > freebsd-standards@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-standards > To unsubscribe, send any mail to "freebsd-standards-unsubscribe@freebsd.org" -- Craig Rodrigues http://crodrigues.org rodrigc@crodrigues.org