From owner-freebsd-bugs@FreeBSD.ORG Tue Dec 23 20:30:24 2003 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 14DB416A4CE for ; Tue, 23 Dec 2003 20:30:24 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 02D5E43D1D for ; Tue, 23 Dec 2003 20:30:23 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) hBO4UMFR038694 for ; Tue, 23 Dec 2003 20:30:22 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.10/8.12.10/Submit) id hBO4UM7Q038693; Tue, 23 Dec 2003 20:30:22 -0800 (PST) (envelope-from gnats) Date: Tue, 23 Dec 2003 20:30:22 -0800 (PST) Message-Id: <200312240430.hBO4UM7Q038693@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Mark Linimon Subject: Re: ports/47061: Conflicting system headers by build of graphics/cqcam X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Mark Linimon List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Dec 2003 04:30:24 -0000 The following reply was made to PR ports/47061; it has been noted by GNATS. From: Mark Linimon To: freebsd-gnats-submit@FreeBSD.org, bvgastel@bitpowder.com Cc: Subject: Re: ports/47061: Conflicting system headers by build of graphics/cqcam Date: Tue, 23 Dec 2003 22:24:20 -0600 This is really a kernel problem. I am going to go ahead and commit a workaround for this and the one or two other ports with this problem -- but the workaround is basically unacceptable. The underlying problem is that machine/cpufunc.h for i386 has had a definition for a machine function 'ffs' for, oh, say, about 9 years now. However, man ffs will show you that there is an ffs(3) function as well. Even after reading the source it's not clear to me if these are supposed to have the same purpose -- someone with a more intimate knowledge of i386 arch is going to have to rule for certain. Back in 2002 a commit was done to create 'strings.h' to provide better adherance to POSIX. When this was done, a prototype for ffs() was introduced for ffs(3). These prototypes fight with each other. From user code, there appears to be no way (to me) to allow access to both. However, this port, among others, wishes to use the strings.h definitions _and_ the inb() and outb() functions which only cpufunc.h provides. The only way to (correctly) fix this has to do with changes to the include files, and that's outside the charter of the ports folks. In the meantime, I'm going to hold my nose and commit an include file to the port that is merely the inb/outb functions. This is clearly a hack that should go away once a "correct" solution is found. mcl