Date: Sat, 3 Jul 2021 22:34:35 -0700 From: Mark Millard via freebsd-ports <freebsd-ports@freebsd.org> To: bob prohaska <fbsd@www.zefox.net> Cc: FreeBSD ports <freebsd-ports@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org> Subject: Re: llvm10 build failure on Rpi3 [You need to update /usr/local/poudriere/poudriere-system] Message-ID: <9D44E5D7-5E89-4E18-BF84-5C7739364DBE@yahoo.com> In-Reply-To: <1B74E5A6-A648-4C91-95BB-6C8AB110FA3A@yahoo.com> References: <5A26965D-2DFD-4A46-A171-A382A61E3CFB@yahoo.com> <20210626035234.GA18893@www.zefox.net> <C64D1A3F-A42E-42E3-8491-4DE9F6A96CFB@yahoo.com> <43513842-6FC0-4A89-8F0C-9EB2B328A5ED@yahoo.com> <9CFE71E2-23C3-4072-A8AD-74EDB339A146@yahoo.com> <A4669E1F-6DA9-492C-B06C-12AABE60FCEB@yahoo.com> <F2A8E1C3-EAAD-448A-9A97-979CC9ED9BE7@yahoo.com> <60EEFD09-97DE-4B4F-BAFD-61B96EF60E27@yahoo.com> <F727FF9A-CDFB-4C9C-8333-0FEA6C54976A@yahoo.com> <77A35ACF-275F-44C8-AEEE-4EFE5B5CBEA4@yahoo.com> <20210703182546.GA17871@www.zefox.net> <380184FB-6BA1-4C2D-9C6B-E249C2CF1317@yahoo.com> <9CC00581-E8B4-45F0-A614-60A70E37B1B2@yahoo.com> <ED4FA7D6-5F8B-427E-89A8-45BF2C913EBE@yahoo.com> <9780017D-5B26-4791-9397-3E721B578D55@yahoo.com> <1B74E5A6-A648-4C91-95BB-6C8AB110FA3A@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Jul-3, at 21:32, Mark Millard <marklmi at yahoo.com> wrote: > [Just correcting a bad placement of some of the new text.] >=20 > On 2021-Jul-3, at 21:25, Mark Millard <marklmi at yahoo.com> wrote: >=20 >> On 2021-Jul-3, at 21:15, Mark Millard <marklmi at yahoo.com> wrote: >>=20 >>> Summary: You need to update /usr/local/poudriere/poudriere-system >>>=20 >>> Updating your HOST environment does not automatically update that >>> area. >>>=20 >>> One possibility for an update procedure is: >>>=20 >>> # cd /usr/src >>> # make installworld DESTDIR=3D/usr/local/poudriere/poudriere-system = DB_FROM_SRC=3D1 >>> # make distrib-dirs DESTDIR=3D/usr/local/poudriere/poudriere-system = DB_FROM_SRC=3D1 >>> # make distribution DESTDIR=3D/usr/local/poudriere/poudriere-system = DB_FROM_SRC=3D1 >>> # make -DBATCH_DELETE_OLD_FILES delete-old = DESTDIR=3D/usr/local/poudriere/poudriere-system DB_FROM_SRC=3D1 >>>=20 >>> Sometime after after a poudriere bulk run completes: >>>=20 >>> # make -DBATCH_DELETE_OLD_FILES delete-old-libs = DESTDIR=3D/usr/local/poudriere/poudriere-system DB_FROM_SRC=3D1 >>>=20 >>>=20 >>> How I got there . . . >>>=20 >>> Someone pointed out something that I'd not even thought to check >>> about your builds (that explains why your lang/rust did not fail >>> to build as well and a major difference in your poudriere vs. >>> make build tests and vs. my attempts to reproduce). Your log >>> still reports: >>>=20 >>> Host OSVERSION: 1400024 >>> Jail OSVERSION: 1400019 >>>=20 >=20 > [Text moved here:] >=20 > I forgot to quote the OSVERSION in: >=20 > ---Begin Environment--- > SHELL=3D/bin/csh > OSVERSION=3D1400019 > UNAME_v=3DFreeBSD 14.0-CURRENT > UNAME_r=3D14.0-CURRENT > . . . >=20 >>> 1400019 is from early June: >>>=20 >>> committer Neel Chauhan <nc@FreeBSD.org> 2021-06-07 22:53:24 = +0000 >>> commit 37d64dcdfa519157aff9711f1f226ad7bd778f46 (patch) >>>=20 >>> That Jail version of the system predates using llvm12 >>> as the system compiler. 1400023 was the switch to llvm12: >>>=20 >>> committer Dimitry Andric <dim@FreeBSD.org> 2021-06-13 = 20:01:15 +0000 >>> commit d409305fa3838fb39b38c26fc085fb729b8766d5 (patch) >>>=20 >>> This means that the direct make build of devel/llvm10 >>> was based on using system clang 12, not what you have >>> poudriere using. >>>=20 >>> You should have (using things as they happen to >>> be available to install now): >>>=20 >>> Host OSVERSION: 1400024 >>> Jail OSVERSION: 1400024 >=20 > [Removed bad placement of example text where it could be > greatly misleading.] >=20 >>> In other words: equal unless you have good reason to be >>> building older materials. >>>=20 >>>=20 >>> So we see that your poudriere bulk builds are based on clang 11, >>> not clang 12, according to the log file: >>>=20 >>> _CCVERSION_921dbbb2=3DFreeBSD clang version 11.0.1 = (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe) = Target: aarch64-unknown-freebsd14.0 Thread model: posix InstalledDir: = /usr/bin >>> _ALTCCVERSION_921dbbb2=3Dnone >>> _CXXINTERNAL_acaad9ca=3DFreeBSD clang version 11.0.1 = (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe) = Target: aarch64-unknown-freebsd14.0 Thread model: posix InstalledDir: = /usr/bin "/usr/bin/ld" "--eh-frame-hdr" "-dynamic-linker" = "/libexec/ld-elf.so.1" "--enable-new-dtags" "-o" "a.out" = "/usr/lib/crt1.o" "/usr/lib/crti.o" "/usr/lib/crtbegin.o" "-L/usr/lib" = "/dev/null" "-lc++" "-lm" "-lgcc" "--as-needed" "-lgcc_s" = "--no-as-needed" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" = "/usr/lib/crtend.o" "/usr/lib/crtn.o" >>> . . . >>> _OBJC_CCVERSION_921dbbb2=3DFreeBSD clang version 11.0.1 = (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe) = Target: aarch64-unknown-freebsd14.0 Thread model: posix InstalledDir: = /usr/bin >>> . . . >>=20 >> I forgot to quote another OSVERSION: >>=20 >> . . . >> ARCH=3Daarch64 >> OPSYS=3DFreeBSD >> _OSRELEASE=3D14.0-CURRENT >> OSREL=3D14.0 >> OSVERSION=3D1400019 >> . . . >>=20 >>> -- The C compiler identification is Clang 11.0.1 >>> -- The CXX compiler identification is Clang 11.0.1 >>> -- The ASM compiler identification is Clang >>> . . . >>=20 >=20 >=20 I'll note that your use of: # poudriere jail -c -j main -m null -M = /usr/local/poudriere/poudriere-system -S /usr/src -v 14.0-CURRENT where /usr/src is the same as used to build your live boot system, means that updating /usr/src to a vintage with: OSVERSION: 1400024 also means that /usr/src is no longer consistent with with system in /usr/local/poudriere/poudriere-system unless /usr/local/poudriere/poudriere-system has also been updated. You are using a older system and older toolchain to build based on a new /usr/src that does not match what is in /usr/local/poudriere/poudriere-system but the build activity is happening in that older system environment. It is an incoherent combination. It is not surprising that it does not behave well. I'd update /etc/src to a vintage that has the workaround for the lang/rust build problem, rebuild and install the HOST OS, boot it, install the same OS version into: /usr/local/poudriere/poudriere-system and then rebuild all the ports to be sure that none are still based on an incoherent combination of materials. My guess is that you want poudriere-system tracking the live system and its /usr/src/ . That would mean that just after booting a new system update that was based on an updated /usr/src/ you would then continue updating via something like: # cd /usr/src # make installworld DESTDIR=3D/usr/local/poudriere/poudriere-system = DB_FROM_SRC=3D1 # make distrib-dirs DESTDIR=3D/usr/local/poudriere/poudriere-system = DB_FROM_SRC=3D1 # make distribution DESTDIR=3D/usr/local/poudriere/poudriere-system = DB_FROM_SRC=3D1 # make -DBATCH_DELETE_OLD_FILES delete-old = DESTDIR=3D/usr/local/poudriere/poudriere-system DB_FROM_SRC=3D1 Sometime after after a poudriere bulk run completes: # make -DBATCH_DELETE_OLD_FILES delete-old-libs = DESTDIR=3D/usr/local/poudriere/poudriere-system DB_FROM_SRC=3D1 (That sequence is biased to poudriere use instead of to a chroot environment that has been tailored and needs the tailoring preserved.) Note: If one wants to have the likes of: /usr/local/poudriere/poudriere-system be based on older system versions sometimes, then a different -S PATH needs to be used than for the boot system, say: # poudriere jail -c -j main -m null -M = /usr/local/poudriere/poudriere-system -S /usr/oldersrc -v 14.0-CURRENT Then updates of poudriere-system would be more like: (presuming that you have already established /usr/oldersrc) # cd /usr/oldersrc/ # ??? do whatever to get /usr/oldersrc/ to have the commit desired ??? # make buildworld # make installworld DESTDIR=3D/usr/local/poudriere/poudriere-system = DB_FROM_SRC=3D1 # make distrib-dirs DESTDIR=3D/usr/local/poudriere/poudriere-system = DB_FROM_SRC=3D1 # make distribution DESTDIR=3D/usr/local/poudriere/poudriere-system = DB_FROM_SRC=3D1 # make -DBATCH_DELETE_OLD_FILES delete-old = DESTDIR=3D/usr/local/poudriere/poudriere-system DB_FROM_SRC=3D1 Sometime after after a poudriere bulk run completes: # make -DBATCH_DELETE_OLD_FILES delete-old-libs = DESTDIR=3D/usr/local/poudriere/poudriere-system DB_FROM_SRC=3D1 Mistake apology: Back 0n 2021-June-23 I had written: QUOTE So your jail's OSVERSION is older than the environment that it is running in. (Unlikely to contribute to the 0xA5A5A5A5u as far as I can tell.) END QUOTE The "Unlikely . . ." was just wrong. Sorry. The reality is that such is incoherent, given the use of the same /usr/src/ code in poudriere as was used to update the booting system. The update from clang 11 to clang 12 between make the combination even more likely to be a problem. /usr/local/poudriere/poudriere-system needs to track the changes as well. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9D44E5D7-5E89-4E18-BF84-5C7739364DBE>