sys/boot machine symlink dirs causing rebuild [was Re: Example of Bryan Drewery's "Something is very wrong" ...]

From: Bryan Drewery <bdrewery_at_FreeBSD.org>
Date: Fri, 3 Nov 2017 12:59:27 -0700
On 11/3/2017 12:42 PM, Mark Millard wrote:
> On 2017-Nov-3, at 11:31 AM, Bryan Drewery <bdrewery_at_FreeBSD.org> wrote:
> 
>> On 11/3/17 1:52 AM, Mark Millard wrote:
>>> I did get another problem after buildworld, buildkernel, installkernel
>>> without future source code dates: the installworld got a "cc not found"
>>> for the amd64 native build based on -r325351 --that also appears to be
>>> set up to report:
>>>
>>> ERROR-tried-to-rebuild-during-make-install
>>>
>>> if cc had been found:
>>>
>>> .if defined(SRCTOP)
>>> # Prevent rebuilding during install to support read-only objdirs.
>>> .if ${.TARGETS:M*install*} == ${.TARGETS} && empty(.MAKE.MODE:Mmeta)
>>> CFLAGS+=        ERROR-tried-to-rebuild-during-make-install
>>> .endif 
>>> .endif 
>>>
>>
>> This one usually only happens if it is trying to compile at installtime,
>> which usually means a file is missing (wrong OBJDIR perhaps) or the
>> timestamps are off.
>>
>> I'll play with this more and see what I can come up with, but I didn't
>> run into anything like this myself yet.
> 
> I locally forced a -dm on the ${MAKE} command involved
> and the result reported:
> 
> Examining beforeinstall...non-existent....PHONY node...out-of-date.
>  recheck(beforeinstall): update time from 16:00:00 Dec 31, 1969 to now
> Examining machine...modified 20:13:03 Nov 03, 2017...up-to-date.
> Examining x86...modified 20:13:07 Nov 03, 2017...up-to-date.
> Examining autoload.c...modified  2:27:17 Nov 03, 2016...up-to-date.
> Examining autoload.o...modified  0:10:12 Nov 03, 2017...modified before source x86...out-of-date.
> cc -target x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/tmp -B/usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe   -ffreestanding -Wformat -mno-mmx -mno-sse -mno-avx -msoft-float -fshort-wchar -mno-red-zone -mno-aes -DLOADER_UFS_SUPPORT -DLOADER_DISK_SUPPORT -DLOADER_GPT_SUPPORT -DLOADER_MBR_SUPPORT -DLOADER_GELI_SUPPORT -I/usr/src/sys/boot/libsa -I/usr/src/sys/boot/zfs -DEFI_ZFS_BOOT -fPIC -DTERM_EMU -I/usr/src/sys/boot/efi/loader -I/usr/src/sys/boot/efi/loader/arch/amd64 -I/usr/src/sys/boot/efi/include -I/usr/src/sys/boot/efi/include/amd64 -I/usr/src/sys/contrib/dev/acpica/include -I/usr/src/sys -I/usr/src/sys/boot/i386/libi386 -DNO_PCI -DEFI -DSMBIOS_SERIAL_NUMBERS -I/usr/src/sys/boot/common -fPIC -I/usr/src/sys/boot/ficl -I/usr/src/sys/boot/ficl/amd64 -I/usr/src/sys/boot/common -DBOOT_FORTH -DBF_DICTSIZE=15000 -g  -std=gnu99 -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef -Wno-address-of-packed-member  -Qunused-arguments  ERROR-tried-to-rebuild-during-make-install -c /usr/src/sys/boot/efi/loader/autoload.c -o autoload.o
> /tmp/install.intsn5IS/sh: cc: not found
> *** Error code 127
> 
> So far I've not found anything with matching times for:
> 
> Examining machine...modified 20:13:03 Nov 03, 2017...up-to-date.
> Examining x86...modified 20:13:07 Nov 03, 2017...up-to-date.
> 
> But the reason for rebuild is listed as:
> 
> modified before source x86...out-of-date.
> 
> I'll keep looking. The odd time (future) is in the
> ball park of others from when the virtual machine
> apparently had a bad time setting.
> 
> I'm not sure if the x86 is a file vs. a directory
> here. A directory would seem a bit strange for
> forcing a rebuild. (Similarly for machine.)

It's these dependencies on a symlink:

sys/boot/efi/boot1/Makefile:beforedepend ${OBJS}: x86
sys/boot/efi/loader/Makefile:beforedepend ${OBJS}: x86

A similar symlink is done for kernel modules but it avoids the problem
you're hitting through various fixes such as in r72935 and r315459.

I'll work on a fix.  (It's unrelated to my recent changes)

> 
> ===
> Mark Millard
> markmi at dsl-only.net
> 


-- 
Regards,
Bryan Drewery


Received on Fri Nov 03 2017 - 18:59:48 UTC

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