From owner-freebsd-stable@freebsd.org Wed Feb 24 18:57:08 2021 Return-Path: Delivered-To: freebsd-stable@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C520B565FD2 for ; Wed, 24 Feb 2021 18:57:08 +0000 (UTC) (envelope-from dweimer@dweimer.net) Received: from webmail.dweimer.net (024-240-198-186.biz.spectrum.com [24.240.198.186]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "dweimer.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Dm4sb68nwz4V1K; Wed, 24 Feb 2021 18:57:07 +0000 (UTC) (envelope-from dweimer@dweimer.net) Received-SPF: pass (webmail.dweimer.net: authenticated connection) receiver=webmail.dweimer.net; client-ip=10.9.5.1; helo=www.dweimer.net; envelope-from=dweimer@dweimer.net; x-software=spfmilter 2.001 http://www.acme.com/software/spfmilter/ with libspf2-1.2.10; Received: from www.dweimer.net (pfsense.dweimer.me [10.9.5.1]) (authenticated bits=0) by webmail.dweimer.net (8.16.1/8.16.1) with ESMTPSA id 11OIv3j9028486 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Wed, 24 Feb 2021 12:57:03 -0600 (CST) (envelope-from dweimer@dweimer.net) MIME-Version: 1.0 Date: Wed, 24 Feb 2021 12:56:58 -0600 From: "Dean E. Weimer" To: Kyle Evans Cc: Warner Losh , FreeBSD Stable Subject: Re: 13-BETA3 installation from source problems. Reply-To: dweimer@dweimer.net In-Reply-To: References: <909bf509b35ec1cda7b70c749edc6b75@dweimer.net> <0b5141137f69e2f86dd49edd4ffd1e78@dweimer.net> User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: dweimer@dweimer.net Organization: dweimer.net Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4Dm4sb68nwz4V1K X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.98 / 15.00]; HAS_REPLYTO(0.00)[dweimer@dweimer.net]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:24.240.198.184/29]; REPLYTO_ADDR_EQ_FROM(0.00)[]; HAS_ORG_HEADER(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[dweimer.net:+]; DMARC_POLICY_ALLOW(-0.50)[dweimer.net,reject]; NEURAL_HAM_SHORT(-0.98)[-0.980]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RBL_DBL_DONT_QUERY_IPS(0.00)[24.240.198.186:from]; ASN(0.00)[asn:20115, ipnet:24.240.196.0/22, country:US]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[dweimer.net:s=2017.01.31]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; SPAMHAUS_ZRD(0.00)[24.240.198.186:from:127.0.2.255]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[freebsd-stable] X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Feb 2021 18:57:08 -0000 On 2021-02-23 12:34 pm, Kyle Evans wrote: > The more I look at `make -dm` output, the less sense it makes. Your > patch is decidedly correct regardless of how this specific scenario is > playing out: > > 1.) As you noted, it's wrong to clean something that's built > elsewhere. You can reasonably expect `make clean all` to work pretty > much everywhere else. > > 2.) i386/loader cannot make an informed decision about whether it's > out-of-date, which is sufficient to tell that the existing addition to > OBJS was not the correct implementation in hindsight. > > 3.) The failure mode if it's *missing* is exactly the same before and > after your patch; file can't be found, cannot build it. > > On Tue, Feb 23, 2021 at 12:09 PM Warner Losh wrote: >> >> 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 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 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 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 >>> > > >>> 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@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@freebsd.org mailing list >>> > https://lists.freebsd.org/mailman/listinfo/freebsd-stable >>> > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org" Do you guys know which part of my configuration is triggering this issue, so I can work around it for now? My last build attempt with the latest updates for the security fixes failed to install even with patch. -- Thanks, Dean E. Weimer http://www.dweimer.net/