``make buildkernel'' fails when /usr/obj is empty
Dimitry Andric
dim at FreeBSD.org
Thu May 31 17:48:10 UTC 2018
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 223 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20180531/c0d7be56/attachment.sig>
More information about the freebsd-current
mailing list