Re: llvm10 build failure on Rpi3
- In reply to: bob prohaska : "Re: llvm10 build failure on Rpi3"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 04 Jul 2021 01:59:25 UTC
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: >> >> >> >> So you still have not tried an artifacts or snapshot kernel+world? >> > Not yet. > >>> Eventually I resorted to running make in devel/llvm10, to my surprise it >>> ran to completion. >> >> Interesting. >> >> Was this -j4? -j1? -j2? Any other interesting characteristics >> for how it was run? >> > Nothing special was done. IIRC, it was make -DBATCH > make.log in > the background. From top's screen it looked like -j4. > >> It would be interesting to see if building in a chroot >> in that make style also worked (or a non-poudriere jail). >> > > 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=~/chroot-system/ DB_FROM_SRC=1 # make distrib-dirs DESTDIR=~/chroot-system/ DB_FROM_SRC=1 # make distribution DESTDIR=~/chroot-system/ DB_FROM_SRC=1 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). From 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/arm64.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/arm64.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 === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)