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/
>
On 2021-02-22 5:52 pm, Warner Losh 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? > > WarnerSuccess, mostly anyways. I tried copying and pasting above into a file (/tmp/patch) and using patch < /tmp/patch from usr/src. It failed to apply, so I just manually edited file, removed OBJS= line and added the comment and LDFLAGS+= line. ran make clean in usr/src/stand and then from usr/src ran make -DNO_CLEAN buildworld, then buildinstall completed. Don't know if email client added a special character that screwed up patch or I just did it wrong, but the fix appears to have worked. -- Thanks, Dean E. Weimer http://www.dweimer.net/
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"