btxld not found
Ian Lepore
ian at freebsd.org
Tue Jan 28 16:18:39 UTC 2020
On Tue, 2020-01-28 at 17:08 +0100, Nick Hibma wrote:
> > 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)
> > @@ -39,7 +39,7 @@
> > 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.
>
> They are being built, and installed:
>
> {e}nick at fimkjecurrent:/usr/src/stand/i386/btx % find / -name btxld
> -ls
> 1908308 48 -r-xr-xr-x 1
> root wheel
> 22988 Jan 27 23:37 /usr/sbin/btxld
> 1319010 4 drwxr-xr-x 2
> nick nick
> 512 Sep 15 2017 /usr/src/usr.sbin/btxld
> 3369564 4 drwxrwxr-x 2
> root wheel
> 512 Jan 27 22:33 /usr/obj/usr/src/i386.i386/usr.sbin/btxld
> 3371323 52 -rwxr-xr-x 1
> root wheel
> 25816 Jan 27 22:33 /usr/obj/usr/src/i386.i386/usr.sbin/btxld/btxld
>
> I guess the difference in file size is due to it being stripped
> during install?
>
> Nick
I would expect the one that gets used during make install to be in the
objdir/.../tmp/usr/sbin directory, like other build and install tools.
But oddly, I don't have btxld in tmp for amd64 builds, only for i386.
-- Ian
More information about the freebsd-current
mailing list