From owner-freebsd-arch@FreeBSD.ORG Tue Oct 9 09:47:19 2012 Return-Path: Delivered-To: freebsd-arch@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 57DABB67; Tue, 9 Oct 2012 09:47:19 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) by mx1.freebsd.org (Postfix) with ESMTP id 0CF4E8FC20; Tue, 9 Oct 2012 09:47:18 +0000 (UTC) Received: from [192.168.0.6] (spaceball.home.andric.com [192.168.0.6]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id A84225C59; Tue, 9 Oct 2012 11:47:11 +0200 (CEST) Message-ID: <5073F29D.6060505@FreeBSD.org> Date: Tue, 09 Oct 2012 11:47:09 +0200 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121002 Thunderbird/16.0 MIME-Version: 1.0 To: d@delphij.net Subject: Re: Building environment using system headers instead of the in-tree headers References: <50736C5A.1000604@delphij.net> In-Reply-To: <50736C5A.1000604@delphij.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Xin Li , peter@freebsd.org, freebsd-arch@FreeBSD.org X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Oct 2012 09:47:19 -0000 On 2012-10-09 02:14, Xin Li wrote: > Josh Paetzel recently discovered an interesting build issue with the > current FreeBSD 'buildworld', where 'make buildworld' over a FreeBSD > 9.0 tree on a FreeBSD 9.1 system will fail. > > As it turns out, this was caused by addition of xlocale functionality > on FreeBSD 9.1, which uses macros and expects some new functions found > in more recent FreeBSD releases. On the other hand, we do not pass > e.g. -I${.CURDIR}/../../include so the header is preferred than system > header. During which stage does this fail? In the '4.2 building libraries' one? > So an obvious way to get around this would be to add that to CFLAGS. > It looks like that in r81600 Peter have "sneak in" such change in libc > because the FILE structure was changed and we have to use that to get > the code compile. It shouldn't be needed, if the cross-tools stage completed successfully. The toolchain built there will *only* look in the /usr/obj directory for its headers. Of course, if you are manually running make in lib/libc, then all bets are off. :) I think there is always a way to shoot yourself in the foot then.