Re: btxld not found

From: Marek Zarychta <zarychtam_at_plan-b.pwste.edu.pl>
Date: Wed, 29 Jan 2020 08:30:28 +0100
W dniu 28.01.2020 o 23:22, Kyle Evans pisze:
> On Tue, Jan 28, 2020 at 3:28 PM Kyle Evans <kevans_at_freebsd.org> wrote:
>>
>> On Tue, Jan 28, 2020 at 2:15 PM Mark Millard <marklmi_at_yahoo.com> wrote:
>>>
>>> Marek Zarychta zarychtam at plan-b.pwste.edu.pl wrote on
>>> Tue Jan 28 19:33:45 UTC 2020 :
>>>
>>>> W dniu 28.01.2020 o 19:11, Dimitry Andric pisze:
>>>>> On 28 Jan 2020, at 12:36, Nick Hibma <nick at van-laarhoven.org> wrote:
>>>>>>
>>>>>> Could anyone explain to me what I am doing wrong? make installworld fails each time with the following error
>>>>>>
>>>>>> ===> stand/i386/libi386 (install)
>>>>>> ===> stand/i386/loader_4th (install)
>>>>>> strip -R .comment -R .note -o loader_4th.bin loader_4th.sym
>>>>>> btxld -v -f aout -e 0x200000 -o loader_4th -l /usr/obj/usr/src/i386.i386/stand/i386/btx/btxldr/btxldr  -b /usr/obj/usr/src/i386.i386/stand/i386/btx/btx/btx loader_4th.bin
>>>>>> make[6]: exec(btxld) failed (No such file or directory)
>>>>>> *** Error code 1
>>>>>>
>>>>>> This is with source of last week. I had this problem before (from old sources) and fixed it by specifying the full path to btxld in the stand/i386/*/Makefile.
>>>>>
>>>>> Yes, this is most likely your clock(s) being off.  At installworld time,
>>>>> it should *not* start rebuilding your loader.
>>>>>
>>>>> Usually this happens if you build on one machine, and install on
>>>>> another, while the install machine's time is behind the build machine's
>>>>> time.  But it can also happens on one machine, for instance if you
>>>>> start in single user mode, and the clock is not yet synchronized.
>>>>>
>>>>> -Dimitry
>>>>>
>>>>
>>>> I build and install on the same machine, WITH_META_MODE=yes
>>> . . .
>>>
>>> Same here on a ThreadRipper 1950X: a self hosted build and
>>> install gets the issue at install time. WITH_META_MODE in use.
>>>
>>> Never started in single user mode. Also happens for targeting a
>>> local directory tree in the install, instead of updating the
>>> live system. (A directory tree used later with poudriere.)
>>>
>>> https://lists.freebsd.org/pipermail/freebsd-toolchain/2019-December/005130.html
>>>
>>> has some timestamps that I observed. btxld.full was about 27
>>> seconds later in the file system than btxld.meta, btxld.debug,
>>> and such (until I rebuilt).
>>>
>>> Looks to me more like multiple parallel builds that stomp on
>>> each other.
>>>
>>
>> I suspect y'all want something like the following:
>>
> 
> Sorry, that patch is clearly wrong- here's take two. A lot of these
> have dependencies on btxldr that aren't formally described in the
> targets, so I missed... a lot. New version just builds btx first gated
> behind a .WAIT then parallel the rest.
> 
> diff --git a/stand/i386/Makefile b/stand/i386/Makefile
> index a9d402acf60..24255eefabf 100644
> --- a/stand/i386/Makefile
> +++ b/stand/i386/Makefile
> _at__at_ -4,7 +4,10 _at__at_ NO_OBJ=t
> 
>  .include <bsd.init.mk>
> 
> -SUBDIR.yes=    mbr pmbr boot0 boot0sio btx boot2 cdboot gptboot \
> +# Almost everything else here relies on btxldr, so we must make sure it's built
> +# before everything else proceeds so we don't end up building against a stale
> +# btxldr and ending up with a build-during-install scenario.
> +SUBDIR.yes=    btx .WAIT mbr pmbr boot0 boot0sio boot2 cdboot gptboot \
>                 isoboot libi386
> 
>  SUBDIR.${MK_LOADER_FIREWIRE}+= libfirewire
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
> 

I have not correctly applied the patch. I am sorry for the confusion.
The world builds fine with this second patch. I am not able to reproduce
the original error anymore (buildworld and installworld after that, both
go fine even with unpatched stand/i386/Makefile b/stand/i386/Makefile).

-- 
Marek Zarychta


Received on Wed Jan 29 2020 - 06:30:38 UTC

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