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

From: Rodney W. Grimes <freebsd-rwg_at_pdx.rh.CN85.dnsmgr.net>
Date: Thu, 31 May 2018 07:14:05 -0700 (PDT)
> There's something totally screwy about trying to build a kernel when
> /usr/obj is not populated.
> 
> I ran ``make clean'' in /usr/src and then ``make buildkernel''.  This
> fails with
> 	make[2]: "/usr/src/sys/conf/kern.pre.mk" line 125: amd64 kernel
> 	requires linker ifunc support
> 
> This is total BS because
> 
> /usr/bin/ld --version
> LLD 6.0.0 (FreeBSD 326565-1200002) (compatible with GNU linkers)
> 
> which is exactly what bsd.linker.mk is looking for to set ifunc.
> 
> If I do this:
> 
> mkdir -p /usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin
> cp /usr/bin/ld /usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin
> 
> the buildkernel then succeeds.
> 
> Considering that (reformatted output from make)
> 
> PATH=/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/sbin:
> /usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin:
> /usr/obj/usr/src/amd64.amd64/tmp/legacy/bin:
> /usr/obj/usr/src/amd64.amd64/tmp/usr/sbin:
> /usr/obj/usr/src/amd64.amd64/tmp/usr/bin:
> /sbin:/bin:/usr/sbin:/usr/bin
> 
> it seems like /usr/bin/ld should be found by bsd.linker.mk and no
> error should be reported.

AHH!!  That explains why I was still seeing this too!
I been forcing the LD= work around and just ignoring
this failure thinking it was something in my not so
normal setup, but infact I always start with an empty
/usr/obj due to a zfs rollback pool/usr/obj_at_empty

So this is a "confirmed" this occurs, including in a 20180521
freshly installed snapshot.

-- 
Rod Grimes                                                 rgrimes_at_freebsd.org
Received on Thu May 31 2018 - 12:14:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:16 UTC