I'm unsure of the mechanics as well. I do know that we shouldn't delete
stuff in OTHER directories, though. the btx stuff is trying to do a bit of
an end run around the link only with the installed stuff here and using
crt0.o as a library from the 'where it was built' directory which I
think
creates one too many dependencies... I've not yet puzzled through all of
them to find out which one is causing us to think we need to rebuild though.
Warner
On Tue, Feb 23, 2021 at 9:21 AM Kyle Evans <kevans at freebsd.org> wrote:
> Hi,
>
> What I don't understand here is, why are these being considered
> out-of-date? That seems like it is indicative of a larger problem that
> we'd surely fall over elsewhere on if not for here, that the source
> tree's timestamps are post-dated w.r.t. the objdir.
>
> Thanks,
>
> Kyle Evans
>
> On Mon, Feb 22, 2021 at 5:52 PM Warner Losh <imp at bsdimp.com>
wrote:
> >
> > What does this patch do for you?
> >
> > diff --git a/stand/i386/loader/Makefile b/stand/i386/loader/Makefile
> > index ad95948ec50a..cbbe15bd1fc0 100644
> > --- a/stand/i386/loader/Makefile
> > +++ b/stand/i386/loader/Makefile
> > @@ -90,7 +90,8 @@ FILES+= ${LOADER}
> > FILESMODE_${LOADER}= ${BINMODE} -b
> >
> > # XXX crt0.o needs to be first for pxeboot(8) to work
> > -OBJS= ${BTXCRT}
> > +# Can't add it to OBJS w/o pain and suffering
> > +LDFLAGS+= ${BTXCRT}
> >
> > DPADD= ${LDR_INTERP32} ${LIBFIREWIRE} ${LIBI386} ${LIBSA32}
> > LDADD= ${LDR_INTERP32} ${LIBFIREWIRE} ${LIBI386} ${LIBSA32}
> >
> > Anything?
> >
> > Warner
> >
> > On Mon, Feb 22, 2021 at 4:17 PM Dean E. Weimer <dweimer at
dweimer.net>
> wrote:
> >
> > > On 2021-02-22 10:53 am, Dean E. Weimer wrote:
> > > > On 2021-02-22 9:38 am, Dean E. Weimer via freebsd-stable
wrote:
> > > >> On 2021-02-22 9:29 am, Warner Losh wrote:
> > > >>
> > > >>> On Mon, Feb 22, 2021 at 8:24 AM Dean E. Weimer via
freebsd-stable
> > > >>> <freebsd-stable at freebsd.org> wrote:
> > > >>>
> > > >>>> I was able to successfully build and install
BETA2 from source,
> > > >>>> however
> > > >>>> I am now attempting to upgrade the same machine
to BETA3
> buildworld
> > > >>>> and
> > > >>>> buildkernel complete. installkernel also
completes, but
> installworld
> > > >>>> fails, it appears to not find a file for i386
boot.
> > > >>>>
> > > >>>> I do have a customized src.conf
> > > >>>> WIHTOUT_FLOPPY="YES"
> > > >>>> WITHOUT_FREEBSD_UPDATE="YES"
> > > >>>> WITH_BSD_GREP="YES"
> > > >>>> WITHOUT_BLUETOOTH="YES"
> > > >>>> WITHOUT_PORTSNAP="YES"
> > > >>>> WITHOUT_WIRELESS="YES"
> > > >>>> WITHOUT_WPA_SUPPLICANT_EAPOL="YES"
> > > >>>> WITHOUT_ATM="YES"
> > > >>>> WITHOUT_LPR="YES"
> > > >>>> WITHOUT_PPP="YES"
> > > >>>> WITHOUT_LLDB="YES"
> > > >>>> WITHOUT_FTP="YES"
> > > >>>> WITHOUT_RBOOTD="YES"
> > > >>>> WITHOUT_TALK="YES"
> > > >>>> WITHOUT_NTP="YES"
> > > >>>> WITH_ISCSI="YES"
> > > >>>> WITH_REPRODUCIBLE_BUILD="YES"
> > > >>>> WITHOUT_GNU_DIFF="YES"
> > > >>>> WITH_KERNEL_RETPOLINE="YES"
> > > >>>>
> > > >>>> and customized make.conf
> > > >>>> CFLAGS?= -O
> > > >>>> CLFAGS+= -pipe
> > > >>>> NO_CPU_CFLAGS> > > >>>>
MK_WERROR=no
> > > >>>>
> > > >>>> WITH_CCACHE_BUILD= YES
> > > >>>> OPTIONS_SET= LIBEDIT OPTIMIZED_CFLAGS
GSSAPI_NONE
> > > >>>> OPTIONS_UNSET= X11 X GUI TLS_SRP AVAHI
GSSAPI_BASE XPM CUPS
> EXAMPLES
> > > >>>> DOCS
> > > >>>> WRKDIRPREFIX= /var/ports
> > > >>>> PACKAGES= /var/ports/packages
> > > >>>> WITH_PKGNG= YES
> > > >>>> DEFAULT_VERSIONS= pgsql=13 php=80 apache=2.4
perl5=5.32 bdb=6
> > > >>>> mysql=105m
> > > >>>> ssl=openssl python=3.9 python3=3.9 gcc=9
linux=c7 samba=4.13
> > > >>>>
> > > >>>> .if (!empty(.CURDIR:M/usr/src*) ||
!empty(.CURDIR:M/usr/obj*)) &&
> > > >>>> !defined(NOCCACHE)
> > > >>>>
CC:=${CC:C,^cc,/usr/local/libexec/ccache/world/cc,1}
> > > >>>>
CXX:=${CXX:C,^c\+\+,/usr/local/libexec/ccache/world/c++,1}
> > > >>>> .endif
> > > >>>> .if (!empty(.CURDIR:M/jails/devel/ROOT/usr/src*)
||
> > > >>>> !empty(.CURDIR:M/jails/devel/ROOT/usr/obj*))
&& !defined(NOCCACHE)
> > > >>>>
CC:=${CC:C,^cc,/usr/local/libexec/ccache/world/cc,1}
> > > >>>>
CXX:=${CXX:C,^c\+\+,/usr/local/libexec/ccache/world/c++,1}
> > > >>>> .endif
> > > >>>>
> > > >>>> Here's the part of where it fails during the
install, src tree was
> > > >>>> checked out at commit
1d0d443daa570c8eaa60ec2c2accbe19554a6c12.
> > > >>>>
> > > >>>> ...
> > > >>>> ===> stand/userboot (install)
> > > >>>> ===> stand/userboot/test (install)
> > > >>>> ===> stand/userboot/userboot_4th (install)
> > > >>>> install -o root -g wheel -m 444 -S
userboot_4th.so
> > > >>>> /jails/devel/ROOT/boot/
> > > >>>> install -o root -g wheel -m 444
userboot_4th.so.debug
> > > >>>> /jails/devel/ROOT/usr/lib/debug/boot/
> > > >>>> ===> stand/userboot/userboot_lua (install)
> > > >>>> install -o root -g wheel -m 444 -S
userboot_lua.so
> > > >>>> /jails/devel/ROOT/boot/
> > > >>>> install -o root -g wheel -m 444
userboot_lua.so.debug
> > > >>>> /jails/devel/ROOT/usr/lib/debug/boot/
> > > >>>> install -l h -o root -g wheel -m 444
> > > >>>> /jails/devel/ROOT/boot/userboot_lua.so
> > > >>>> /jails/devel/ROOT/boot/userboot.so
> > > >>>> ===> stand/i386 (install)
> > > >>>> ===> stand/i386/btx (install)
> > > >>>> ===> stand/i386/btx/btx (install)
> > > >>>> ===> stand/i386/btx/btxldr (install)
> > > >>>> ===> stand/i386/btx/lib (install)
> > > >>>> ===> stand/i386/libi386 (install)
> > > >>>> ===> stand/i386/mbr (install)
> > > >>>> install -o root -g wheel -m 444 mbr
/jails/devel/ROOT/boot/mbr
> > > >>>> ===> stand/i386/pmbr (install)
> > > >>>> install -o root -g wheel -m 444 pmbr
> /jails/devel/ROOT/boot/pmbr
> > > >>>> ===> stand/i386/boot0 (install)
> > > >>>> install -o root -g wheel -m 444 boot0
> > > >>>> /jails/devel/ROOT/boot/boot0
> > > >>>> ===> stand/i386/boot0sio (install)
> > > >>>> install -o root -g wheel -m 444 boot0
> > > >>>> /jails/devel/ROOT/boot/boot0sio
> > > >>>> ===> stand/i386/boot2 (install)
> > > >>>> objcopy -S -O binary boot1.out boot1
> > > >>>> objcopy -S -O binary boot2.out boot2.bin
> > > >>>> btxld -v -E 0x2000 -f bin -b
> > > >>>>
> > >
>
/jails/devel/ROOT/usr/obj/jails/devel/ROOT/usr/src/amd64.amd64/stand/i386/btx/btx/btx
> > > >>>> -l boot2.ldr -o boot2.ld -P 1 boot2.bin
> > > >>>> make[6]: exec(btxld) failed (No such file or
directory)
> > > >>>
> > > >>> Does this happen every time, or only sometimes? Do
you have the
> > > >>> complete log? Why we're trying to run btxld and
objcopy in the
> > > >>> *INSTALL* phase is likely why (paths are different
between the two)
> > > >>>
> > > >>> Warner
> > > >>>
> > > >>>> mail to "freebsd-stable-unsubscribe at
freebsd.org"
> > > >>
> > > >> Everytime, not sure why I am trying to run btxld and
objcopy in
> > > >> install phase, I am simply running the command make
installworld
> > > >>
> > > >> I do use env variables to change paths, as I install to
a ZFS clone
> of
> > > >> the original system dataset then change boot setting on
pool and
> > > >> reboot.
> > > >>
> > > >> Environment Variables used during build and install,
been doing this
> > > >> process ever since I started using ZFS boot on FreeBSD
9.2.
> > > >>
> > > >> setenv MAKEOBJDIRPREFIX /jails/devel/ROOT/usr/obj
> > > >> setenv DESTDIR /jails/devel/ROOT
> > > >> setenv __MAKE_CONF /jails/devel/ROOT/etc/make.conf
> > > >> setenv SRCCONF /jails/devel/ROOT/etc/src.conf
> > > >
> > > > I had already started a new build specifying
CPUTYPE=silvermont in
> > > > make.conf, as attempt work around. It failed as well. I did
check and
> > > > the path above exists on the system
> > > >
> > > >
> > >
>
:/jails/devel/ROOT/usr/obj/jails/devel/ROOT/usr/src/amd64.amd64/stand/i386/btx/btx
> > > > # ll
> > > > total 10
> > > > -rw-r--r-- 1 root wheel 117B Feb 22 10:13 .depend.btx.o
> > > > -rwxr-xr-x 1 root wheel 1.7K Feb 22 10:37 btx*
> > > > -rw-r--r-- 1 root wheel 5.4K Feb 22 10:13 btx.o
> > > > drwxr-xr-x 2 root wheel 4B Feb 22 10:13 include/
> > > >
> > > > I have removed my CPU Type specification and will run a new
make and
> > > > install capturing full logs so that I can post a link to
full logs.
> > >
> > > I did a new build and capture output from full buildworld and
> > > installworld, but first I cleared ccache same error was a result.
> > >
> > > Here is the entire output along with my make.conf and src.conf
files.
> > > https://nextcloud.dweimer.net/index.php/s/YYx6WX7KieatM9L
> > >
> > >
> > > --
> > > Thanks,
> > > Dean E. Weimer
> > > http://www.dweimer.net/
> > >
> > _______________________________________________
> > freebsd-stable at freebsd.org mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-stable
> > To unsubscribe, send any mail to "freebsd-stable-unsubscribe at
freebsd.org
> "
>