Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 May 2018 09:52:22 +0200
From:      Gary Jennejohn <gljennjohn@gmail.com>
To:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   ``make buildkernel'' fails when /usr/obj is empty
Message-ID:  <20180531095222.399e7a37@ernst.home>

next in thread | raw e-mail | index | archive | help
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.

-- 
Gary Jennejohn



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