``make buildkernel'' fails when /usr/obj is empty

Eitan Adler lists at eitanadler.com
Sun Jun 3 15:12:18 UTC 2018


On 31 May 2018 at 11:19, Dimitry Andric <dim at freebsd.org> wrote:
> On 31 May 2018, at 20:11, Warner Losh <imp at bsdimp.com> wrote:
>>
>> On Thu, May 31, 2018 at 11:47 AM, Dimitry Andric <dim at freebsd.org> wrote:
>> On 31 May 2018, at 18:04, Benjamin Kaduk <kaduk at MIT.EDU> wrote:
>> > On Thu, May 31, 2018 at 09:58:50AM +0200, Gary Jennejohn wrote:
>> >> On Thu, 31 May 2018 09:52:22 +0200
>> >> Gary Jennejohn <gljennjohn at gmail.com> wrote:
> ...
>> > Whatever happened to the "run buildworld or kernel-toolchain before
>> > buildkernel" requirement?
>>
>> That is still a requirement, yes.  Otherwise, you might have outdated
>> toolchain components are in your /usr/obj.
>>
>> Usually you can get away without doing that, and now that clang is the toolchain that's rebuilt (and that's not fast) people try to get away with it more and more...
>
> Actually clang doesn't get updated *that* often, but there is a minor
> snag that one of llvm's config files (lib/clang/include/llvm/Config/config.h)
> includes <osreldate.h>, so each time __FreeBSD_version is bumped, quite
> a lot of dependencies get triggered...
>
> The version is only used for two checks:
>
> #if __FreeBSD_version >= 1000052
> /* Define to 1 if you have the `backtrace' function. */
> #define HAVE_BACKTRACE TRUE
>
> and:
>
> /* Define to 1 if you have the `futimens' function. */
> #if __FreeBSD_version >= 1100056
> #define HAVE_FUTIMENS 1
> #endif
>
> Maybe the first check could be dropped, assuming that backtrace() is
> always available, but I'm not sure about futimens().  Is there any
> supported version of FreeBSD left that does *not* have it?

10.4 is supported until October 31, 2018 but it might be worth making
the change in -current  ?






-- 
Eitan Adler


More information about the freebsd-current mailing list