Date: Thu, 20 May 2021 15:09:32 -0700 From: Mark Millard <marklmi@yahoo.com> To: Kevin Oberman <rkoberman@gmail.com>, FreeBSD ports <freebsd-ports@freebsd.org>, Brooks Davis <brooks@FreeBSD.org> Subject: Re: Large builds with poudriere Message-ID: <51FBF726-0FD7-43CA-98D4-F24B5AE5D974@yahoo.com> References: <51FBF726-0FD7-43CA-98D4-F24B5AE5D974.ref@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Kevin Oberman rkoberman at gmail.com wrote on Thu May 20 21:37:28 UTC 2021 : > On Thu, May 20, 2021 at 12:48 PM Mark Millard <marklmi at yahoo.com> = wrote: >=20 > > Kevin Oberman rkoberman at gmail.com wrote on > > Thu May 20 19:21:24 UTC 2021 : > > > > > You can greatly reduce the build-time for devel/llvm* by changing = the > > > config to BE_NATIVE to avoid building backends for all FreeBSD = supported > > > platforms. Obviously this is not acceptable for many cases, but if = you > > > never cross-compile for other platforms, it's a really big win. > > > > > > Unfortunately, using something like (llvm10 is just one example, > > llvm11 showed the same sort of problem at the time): > > > > = /usr/local/etc/poudriere.d/options/devel_llvm10/options:_FILE_COMPLETE_OPT= IONS_LIST=3DBE_AMDGPU > > CLANG DOCS EXTRAS LIT LLD LLDB LLD_LINK OPENMP PYCLANG BE_FREEBSD = BE_NATIVE > > BE_STANDARD > > > > = /usr/local/etc/poudriere.d/options/devel_llvm10/options:OPTIONS_FILE_SET+=3D= BE_AMDGPU > > > > = /usr/local/etc/poudriere.d/options/devel_llvm10/options:OPTIONS_FILE_UNSET= +=3DBE_FREEBSD > > > > = /usr/local/etc/poudriere.d/options/devel_llvm10/options:OPTIONS_FILE_SET+=3D= BE_NATIVE > > > > = /usr/local/etc/poudriere.d/options/devel_llvm10/options:OPTIONS_FILE_UNSET= +=3DBE_STANDARD > > > > does not work for all platforms/targets. On a Cortex-A57 > > this lead to: > > > > Registered Targets: > > amdgcn - AMD GCN GPUs > > r600 - AMD GPUs HD2XXX-HD6XXX > > > > In other words, aarch64 was missing. I had to pick > > BE_STANDARD or BE_FREEBSD to get something that > > would target aarch64 on aarch64. > > > > =3D=3D=3D > > Mark Millard > > marklmi at yahoo.com > > ( dsl-only.net went > > away in early 2018-Mar) > > > Looks like the Makefile might need some work. I see stuff for handling > aach64/arm64, so it SHOULD work, but there are things I don't = understand > about AARCH64 to figure it all out. Still, it should be detected. >=20 > Out of curiosity, if you do a "make -C /usr/ports/devel/llvm10 = config", > the line for BE_NATIVE should show the architecture you are running = on. If > it's missing/something else, maybe you should ask brooks@ about it. On two types of Cortex-A72 context # make -C /usr/ports/devel/llvm10 config produced: BE_NATIVE Backend(s) for this architecture () The same for each of: # make -C /usr/ports/devel/llvm80 config # make -C /usr/ports/devel/llvm90 config # make -C /usr/ports/devel/llvm11 config # make -C /usr/ports/devel/llvm12 config But this turns out to be because: # make -C /usr/ports/devel/llvm10 -V ARCH aarch64 yet the Makefiles have a test for arm64 instead: .elif ${ARCH} =3D=3D arm64 _NATIVE_BACKENDS=3D AAarch64 FYI (from one of the test environments): # uname -apKU FreeBSD CA72_4c8G_ZFS 13.0-RELEASE FreeBSD 13.0-RELEASE #0 = releng/13.0-n244733-ea31abc261ff-dirty: Thu Apr 29 21:53:20 PDT 2021 = root@CA72_4c8G_ZFS:/usr/obj/BUILDs/13_0R-CA72-nodbg-clang/usr/13_0R-src/ar= m64.aarch64/sys/GENERIC-NODBG-CA72 arm64 aarch64 1300139 1300139 =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?51FBF726-0FD7-43CA-98D4-F24B5AE5D974>