Re: btxld not found

From: Kyle Evans <kevans_at_freebsd.org>
Date: Tue, 28 Jan 2020 18:20:02 -0600
(Resend because I suck at e-mail; sorry Marek)

On Tue, Jan 28, 2020 at 5:42 PM Marek Zarychta
<zarychtam_at_plan-b.pwste.edu.pl> wrote:
>
> W dniu 28.01.2020 o 22:28, Kyle Evans pisze:
> > 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:
> >
> > diff --git a/stand/i386/Makefile b/stand/i386/Makefile
> > index a9d402acf60..5b4e34ce587 100644
> > --- a/stand/i386/Makefile
> > +++ b/stand/i386/Makefile
> > _at__at_ -18,4 +18,9 _at__at_ SUBDIR.yes+=  pxeldr
> >
> >  SUBDIR.${MK_LOADER_ZFS}+=      zfsboot gptzfsboot
> >
> > +SUBDIR_DEPEND_pxeldr=          btx
> > +SUBDIR_DEPEND_loader_4th=      btx
> > +SUBDIR_DEPEND_loader_lua=      btx
> > +SUBDIR_DEPEND_loader_simp=     btx
> > +
> >  .include <bsd.subdir.mk>
>
> Thank you for taking care of this. The patch above worked and I confirm
> it solves the issue for me.
>

That's good to hear! I was starting to doubt because we don't use
SUBDIR_PARALLEL in the stand build, but on second glance we inherit it
during buildworld I reckon.

> I was not able to build the world with the patch you have posted later,
> here is the link to build log --> https://bsd.to/jTpd
>

This looks like the patch may have misapplied and btx ended up in
SUBDIR.yes twice -- the second instance should be removed, and only
the first on the left-hand-side of .WAIT should remain.
Received on Tue Jan 28 2020 - 23:20:13 UTC

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