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. -- Gary JennejohnReceived on Thu May 31 2018 - 05:58:55 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:16 UTC