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: >> >>> 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. >>> >> >> OK, it seems that ``make clean'' does not remove the contents of >> /usr/obj/usr/src/amd64.amd64/tmp/legacy. If I delete everything >> under /usr/obj then ``make buildkernel'' works. >> >> Still, it seems pretty strange to me to make building a kernel >> depend on some random junk which is left laying around under >> /usr/obj. > > 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. -Dimitry
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:16 UTC