From owner-freebsd-current@FreeBSD.ORG Sun Apr 22 16:06:45 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3804F1065670; Sun, 22 Apr 2012 16:06:45 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-ob0-f182.google.com (mail-ob0-f182.google.com [209.85.214.182]) by mx1.freebsd.org (Postfix) with ESMTP id CE5808FC08; Sun, 22 Apr 2012 16:06:44 +0000 (UTC) Received: by obqv19 with SMTP id v19so16606883obq.13 for ; Sun, 22 Apr 2012 09:06:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; bh=8qwZzre/JL/3WgsweSdPWwEnHH5RMUNi3LzWkURLpL0=; b=SSHY42qWpdtuE8b/KmNsPP+smKD3HX1PMD7DZFDaJuqqW9SRWZdCMkYoPS04zM10aW NhhY4pVJ9Q2RQnk3zf/WVsDpjizXY8kJAUe8IZuOAiPCka0u0ckn6mKXntQUQ2cbeG2w Pi/fKolDaxD3lrjIbcO/iYAzqRbb1oKHHXe3Pi+k1z5uerozdDBNRJF/fg5WaNPG9r3N LUbSZOY2s8R2ePuYCeAUzlpfa7h2YEk2fOcXwQvrpnvVsmdPHIiFabNnqEdmmvLbs7pE XI8yW8HN+ACItxngULxKwU65dbAE1eiDwUK2uIl2Oc79PFX1B7ogdGY2i5sR30kAYRkO g58w== Received: by 10.182.72.5 with SMTP id z5mr18750317obu.61.1335110804206; Sun, 22 Apr 2012 09:06:44 -0700 (PDT) Received: from [192.168.2.5] (dpc691939029.direcpc.com. [69.19.39.29]) by mx.google.com with ESMTPS id b2sm13141378obo.22.2012.04.22.09.06.30 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 22 Apr 2012 09:06:43 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v1257) Content-Type: text/plain; charset=iso-8859-1 From: Garrett Cooper In-Reply-To: <4F9428ED.6060902@FreeBSD.org> Date: Sun, 22 Apr 2012 09:06:18 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <3862F1CA-C1C8-49E6-B768-114A0A212496@gmail.com> References: <4F915384.6070308@semihalf.com> <4F919C50.70809@FreeBSD.org> <9B9312D3-489E-4EF1-85CB-0353024F6B94@gmail.com> <4F9428ED.6060902@FreeBSD.org> To: Dimitry Andric X-Mailer: Apple Mail (2.1257) Cc: Doug Barton , Current FreeBSD , Jan Sieka Subject: Re: buildworld fails on FreeBSD 7.x for HEAD from 19.04.2012 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Apr 2012 16:06:45 -0000 On Apr 22, 2012, at 8:51 AM, Dimitry Andric wrote: > On 2012-04-22 16:51, Garrett Cooper wrote: >> On Apr 20, 2012, at 10:26 AM, Doug Barton wrote: >>> On 4/20/2012 5:16 AM, Jan Sieka wrote: >>>> I can't build world from recent sources (HEAD as of 2012.04.19 = 11:06:48 >>>> UTC) on a machine running FreeBSD 7.3. >>>=20 >>> That's not a supported configuration. We don't promise support for >>> $VERSION on anything less than the most recent version of $VERSION - = 1. >>=20 >> I'm sorry, but given the error below shown by Jan I don't buy = this argument. It seems like file's objects are is trying to link = against an ABI incompatible libc and failing. The build system should = handle this properly if you invoke the top-level targets (buildworld, = buildkernel, distribution). >=20 > This is trickier than you think: the error occurs during the = build-tools > stage, where everything that builds still uses the host's toolchain = and > libraries (e.g. the 7.x versions). So if you try to build a program > that uses getline(), it will not be able to link. This is what = happens > with the 'mkmagic' tool. >=20 > However, this will have started failing just very recently, since = obrien > updated to a new file(1) version, and regenerated the config.h file: >=20 > = http://svnweb.freebsd.org/base/head/lib/libmagic/config.h?r1=3D208341&r2=3D= 234449 And this is why NetBSD runs autotools on their tree sources in their = build instead of dealing with stale config.h files -- which also brings = up the bug of what happens if support is available on one architecture, = but not the other? Doesn't happen often and I hope it wouldn't happen in = sources imported into FreeBSD, but I've seen it happen in the past with = various open source projects. > Maybe some hackery could be inserted in lib/libmagic/Makefile, so = during > the early stages a 'toned down' config.h file is used. The libmagic > source has its own getline implementation in contrib/file/getline.c, = so > maybe that could be used instead. That seems like a good idea for the time being. On the other hand (and this is probably a dumb question), but why is = libmagic required in the build-tools stage? > On the other hand, going from 7.x to HEAD via the 'official' route = would go like: >=20 > - Update 7.x to the latests 7-STABLE > - Update 7-STABLE to 8-STABLE > - Update 8-STABLE to 9-STABLE > - Update 9-STABLE to 10-CURRENT >=20 > It is *way* easier to just grab a recent 10-CURRENT snapshot ISO and > just reinstall. :) Ugh. The usecase (that's now broken) is that Jan from Semihalf might = have been running CURRENT builds on an older (stable) build machine. I = have done this a couple times in the past (but not regularly because I = usually follow the above prescribed method or just hop 1-2 major = versions). Other groups I've worked with use the same major version or higher than = the running build because of chroot hackery involved in the build = process. Thanks, -Garrett=