Re: btxld not found

From: Mark Millard <marklmi_at_yahoo.com>
Date: Tue, 28 Jan 2020 09:17:31 -0800
Nick Hibma nick at van-laarhoven.org wrote on
Tue Jan 28 16:08:19 UTC 2020 :

> > On Tue, Jan 28, 2020, 4:57 AM Nick Hibma <nick at van-laarhoven.org <mailto:nick at van-laarhoven.org>> wrote:
> > > On 28/01 /2020, at 12:39, Toomas Soome <tsoome at me.com <mailto:tsoome at me.com>> wrote:
> > > 
> > >> On 28. Jan 2020, at 13:36, Nick Hibma <nick at van-laarhoven.org <mailto:nick at van-laarhoven.org>> wrote:
> > >> 
> > >> Folks,
> > >> 
> > >> 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. 
> > >> 
> > >> Any pointers?
> > >> 
> > > 
> > > it should be /usr/sbin/btxld; are you missing /usr/sbin from the path?
> > 
> > Well, it's an 'installworld' so I would expect it to be providing that program itself, but no, /usr/sbin/ is in the path of the current shell.
> > 
> > Also, in some of the makefiles the target calling btxldr is depending on the build of that executable:
> > 
> > Index: stand/i386/pxeldr/Makefile
> > ===================================================================
> > --- stand/i386/pxeldr/Makefile  (revision 357042)
> > +++ stand/i386/pxeldr/Makefile  (working copy)
> > _at__at_ -39,7 +39,7 _at__at_
> >  CLEANFILES+= ${LOADER}
> > 
> >  ${LOADER}: ${LOADERBIN} ${BTXLDR} ${BTXKERN}
> > -       btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
> > +       /usr/sbin/btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
> >             -b ${BTXKERN} ${LOADERBIN}
> > 
> > This is definitely wrong. We have either a path that is wrong, or we aren't reinstalling btxld in the right place.
> > 
> > Warner
> 
> This is not a fix, this is to get me through the installworld. As I've not seen any mention of this the past 6 months it must be something on my system that makes things go bad, but I have no idea what.

I reported this to toolchain back on 2019-Dec-14 and 15, for updating to
head -r355761 then -r355777 at the time:

https://lists.freebsd.org/pipermail/freebsd-toolchain/2019-December/005127.html
https://lists.freebsd.org/pipermail/freebsd-toolchain/2019-December/005130.html

It is not just your context that has the issue.

The 2nd message showed some interesting timestamps from the build.

I've found that re-running buildworld (not from scratch) with -j1
then doing installworld seemed to reliably deal with it. Allowing
-j32 was unreliable for the rerun. (Despite that early report.)


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
Received on Tue Jan 28 2020 - 16:17:40 UTC

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