Date: Sat, 3 Jul 2021 18:59:25 -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 Message-ID: <2349FF7F-BA05-4854-AA34-B6298193B98C@yahoo.com> In-Reply-To: <20210703215445.GA18768@www.zefox.net> References: <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> <20210703215445.GA18768@www.zefox.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Jul-3, at 14:54, bob prohaska <fbsd at www.zefox.net> wrote: > On Sat, Jul 03, 2021 at 01:15:19PM -0700, Mark Millard wrote: >>=20 >>=20 >>=20 >> So you still have not tried an artifacts or snapshot kernel+world? >>=20 > Not yet.=20 >=20 >>> Eventually I resorted to running make in devel/llvm10, to my = surprise it >>> ran to completion. >>=20 >> Interesting. >>=20 >> Was this -j4? -j1? -j2? Any other interesting characteristics >> for how it was run? >>=20 > Nothing special was done. IIRC, it was make -DBATCH > make.log in > the background. =46rom top's screen it looked like -j4.=20 >=20 >> It would be interesting to see if building in a chroot >> in that make style also worked (or a non-poudriere jail). >>=20 >=20 > Can you point me to instructions for doing the experiment? I tend to presume operation from a root login so I've nothing about managing user account vs. root account ownerships and the like. I pick names and places for things to make the example. # cd /usr/src/ # mkdir -p ~/chroot-system/ # make installworld DESTDIR=3D~/chroot-system/ DB_FROM_SRC=3D1 # make distrib-dirs DESTDIR=3D~/chroot-system/ DB_FROM_SRC=3D1 # make distribution DESTDIR=3D~/chroot-system/ DB_FROM_SRC=3D1 One could expand artifacts.ci.freebsd.org *.txz materials into ~/chroot-system/ instead. The above is just one way of populating ~/chroot-system/ initially. For now, I will not show later updating to a newer system in ~/chroot-system/ . There are more choices to make for what, if anything, should be preserved or adjsuted by such an update. The following definitions do not survive RPI* reboots . . . # mount -tdevfs devfs ~/chroot-system/dev # mkdir -p ~/chroot-system/usr/src/ ~/chroot-system/usr/ports/ # mount_nullfs /usr/src ~/chroot-system/usr/src # mount_nullfs /usr/ports ~/chroot-system/usr/ports The ~/chroot-system/dev is what allows /dev/null and other such to work in the chroot context. Instead of nullfs mounts you could establish independent instances. ~/chroot-system/usr/src/ should track whatever world was put inside ~/chroot-system/ . Use via . . . (You may have tailoring of the environment that you want to set up in the chroot. I do not show anything for that. This could include things like setting up /etc/make.conf and /etc/src.conf files in the chroot.) # chroot ~/chroot-system/ # pwd / # . . . # cd /usr/ports/devel/llvm10/ # make . . . . . . # exit Until you exit from the chroot, you will not see the file system that is outside ~/chroot-system/ (other than via the special mounts that were set up earlier above). =46rom the overall system view that / in the chroot's operation is implicitly a reference to ~/chroot-system/ as if it was a root file system. Inside the chroot, ~/ is a reference to a different place than it was outside the chroot. Note that even pkg will have to be bootstrapped as if this was a separate, new root filesystem. I'll note that modern main can have chroot worlds that are stable/13 or releng/13 based instead of main based (a releng/13 example from my context): # uname -apKU FreeBSD CA72_4c8G_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #7 = main-n247651-a00d703f2f43-dirty: Wed Jun 30 15:11:11 PDT 2021 = root@CA72_16Gp_ZFS:/usr/obj/BUILDs/main-CA72-nodbg-clang/usr/main-src/arm6= 4.aarch64/sys/GENERIC-NODBG-CA72 arm64 aarch64 1400024 1300139 On the aarch64 RPi*'s the world could even be arm.armv7 based instead of arm64.aarch64 based (stable/13 example): # uname -apKU FreeBSD CA72_4c8G_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #7 = main-n247651-a00d703f2f43-dirty: Wed Jun 30 15:11:11 PDT 2021 = root@CA72_16Gp_ZFS:/usr/obj/BUILDs/main-CA72-nodbg-clang/usr/main-src/arm6= 4.aarch64/sys/GENERIC-NODBG-CA72 arm armv7 1400024 1300510 I'll note that deleting ~/chroot-system from ouside the chroot is a 2 step process because of some special file protections: # chflags -R noschg ~/chroot-system/ # rm -fr ~/chroot-system =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?2349FF7F-BA05-4854-AA34-B6298193B98C>