Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Apr 2012 17:51:09 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Garrett Cooper <yanegomi@gmail.com>
Cc:        Doug Barton <dougb@FreeBSD.org>, Current FreeBSD <freebsd-current@freebsd.org>, Jan Sieka <jps@semihalf.com>
Subject:   Re: buildworld fails on FreeBSD 7.x for HEAD from 19.04.2012
Message-ID:  <4F9428ED.6060902@FreeBSD.org>
In-Reply-To: <9B9312D3-489E-4EF1-85CB-0353024F6B94@gmail.com>
References:  <4F915384.6070308@semihalf.com> <4F919C50.70809@FreeBSD.org> <9B9312D3-489E-4EF1-85CB-0353024F6B94@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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.
>>
>> That's not a supported configuration. We don't promise support for
>> $VERSION on anything less than the most recent version of $VERSION - 1.
> 
> 	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).

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.

However, this will have started failing just very recently, since obrien
updated to a new file(1) version, and regenerated the config.h file:

  http://svnweb.freebsd.org/base/head/lib/libmagic/config.h?r1=208341&r2=234449

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.

On the other hand, going from 7.x to HEAD via the 'official' route would go like:

- 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

It is *way* easier to just grab a recent 10-CURRENT snapshot ISO and
just reinstall. :)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F9428ED.6060902>