Date: Fri, 9 Apr 2021 10:51:32 -0700 From: Mark Millard <marklmi@yahoo.com> To: FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD ports <freebsd-ports@freebsd.org> Subject: Re: devel/llvm10 (and 11) on aarch64: only BE_AMDGPU registered targets despite OPTIONS_FILE_SET+=BE_NATIVE also being set Message-ID: <01DB1415-575E-46FA-B421-30AD3190A9F7@yahoo.com> In-Reply-To: <EAB1A7AD-E249-4F56-9F96-9993FE8C36E7@yahoo.com> References: <EAB1A7AD-E249-4F56-9F96-9993FE8C36E7@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Apr-8, at 10:46, Mark Millard <marklmi at yahoo.com> wrote: > Building devel/llvm10 via poudriere-devel on a Cortex-A57 > system (OverDrive 1000), I ended up with just: >=20 > # /usr/local/llvm10/bin/llc -version > LLVM (http://llvm.org/): > LLVM version 10.0.1 > Optimized build. > Default target: aarch64-portbld-freebsd14.0 > Host CPU: (unknown) >=20 > Registered Targets: > amdgcn - AMD GCN GPUs > r600 - AMD GPUs HD2XXX-HD6XXX >=20 > from a context that has: >=20 > # grep -r BE /usr/local/etc/poudriere.d/options/devel_llvm10/ > = /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 >=20 > (I've used the combination in various llvm*'s for years, > including using such for llvm10. Something has changed.) >=20 > I'll not repeat the material here but llvm11 got the same > sort of result. >=20 > May be that "Host CPU: (unknown)" has something to do with > it? >=20 > This has been true since I built and installed back on > 2021-Feb-11 and is true of my updating build started > yesterday (bulk still in progress). LLVM10 pkg info > from active install: >=20 > # pkg info llvm10 > llvm10-10.0.1_5 > Name : llvm10 > Version : 10.0.1_5 > Installed on : Thu Feb 11 12:05:43 2021 PST > Origin : devel/llvm10 > Architecture : FreeBSD:14:aarch64 > Prefix : /usr/local > Categories : devel lang > Licenses : MIT, BSD3CLAUSE, PD, LLVM, REGEX, LLVM2 > Maintainer : brooks@FreeBSD.org > WWW : http://llvm.org/ > Comment : LLVM and Clang > Options : > BE_AMDGPU : on > BE_FREEBSD : off > BE_NATIVE : on > BE_STANDARD : off > CLANG : on > DOCS : on > EXTRAS : on > LIT : on > LLD : on > LLDB : on > LLD_LINK : on > OPENMP : on > PYCLANG : off > Shared Libs required: > libedit.so.0 > liblua-5.2.so > libpython3.7m.so.1.0 > libxml2.so.2 > Shared Libs provided: > libRemarks.so.10 > libarcher.so > libclang-cpp.so.10 > liblldb.so.10 > libLTO.so.10 > libLLVM-10.so > libomptarget.so > libomp.so > libclang.so.10 > Annotations : > FreeBSD_version: 1400004 > repo_type : binary > repository : custom > Flat size : 509MiB > Description : > The LLVM Project is a collection of modular and reusable compiler and > toolchain technologies. >=20 > This port includes Clang (a C/C++/Objective-C compiler), LLD (a = linker), > LLDB (a debugger), an OpenMP runtime library, and the LLVM = infrastructure > these are built on. >=20 > WWW: http://llvm.org/ >=20 >=20 > (So the above predates the git conversion.) >=20 > The issue was first noticed via build failures like (from a > log file): >=20 > . . . > Sanity testing C compiler: /usr/local/bin/clang10 > Is cross compiler: False. > Sanity check compiler command line: /usr/local/bin/clang10 = /wrkdirs/usr/ports/graphics/mesa-libs/work/mesa-20.2.3/_build/meson-privat= e/sanitycheckc.c -o = /wrkdirs/usr/ports/graphics/mesa-libs/work/mesa-20.2.3/_build/meson-privat= e/sanitycheckc.exe -O2 -pipe -mcpu=3Dcortex-a57 -g = -fstack-protector-strong -fno-strict-aliasing -mcpu=3Dcortex-a57 -pipe = -D_FILE_OFFSET_BITS=3D64 -Wl,-rpath=3D/usr/local/llvm10/lib > Sanity check compile stdout: >=20 > ----- > Sanity check compile stderr: > error: unable to create target: 'No available targets are compatible = with triple "aarch64-portbld-freebsd14.0"' > 1 error generated. > . . . >=20 >=20 > The FreeBSD is a non-debug build based on main 7381bbee29df: >=20 > # ~/fbsd-based-on-what-freebsd-main.sh=20 > FreeBSD FBSDCA57 14.0-CURRENT FreeBSD 14.0-CURRENT = mm-src-n245445-def0058cc690 GENERIC-NODBG arm64 aarch64 1400005 1400005 > def0058cc690 (HEAD -> mm-src) mm-src snapshot for mm's patched build = in git context. > merge-base: 7381bbee29df959e88ec59866cf2878263e7f3b2 > merge-base: CommitDate: 2021-03-12 20:29:42 +0000 > 7381bbee29df (freebsd/main, freebsd/HEAD, pure-src, main) cam: Run all = XPT_ASYNC ccbs in a dedicated thread > n245444 (--first-parent --count for merge-base) Using OPTIONS_FILE_SET+=3DBE_STANDARD instead of OPTIONS_FILE_SET+=3DBE_NATIVE did not have this problem. (I've not tried BE_FREEBSD so far.) Also, my Cortex-A7 (so: armv7) context did not have the "amdgcn/r600 only" problem with OPTIONS_FILE_SET+=3DBE_NATIVE : # /usr/local/llvm10/bin/llc -version LLVM (http://llvm.org/): LLVM version 10.0.1 Optimized build. Default target: armv7-portbld-freebsd14.0-gnueabihf Host CPU: (unknown) Registered Targets: amdgcn - AMD GCN GPUs arm - ARM armeb - ARM (big endian) r600 - AMD GPUs HD2XXX-HD6XXX thumb - Thumb thumbeb - Thumb (big endian) # pkg info llvm10 llvm10-10.0.1_5 Name : llvm10 Version : 10.0.1_5 Installed on : Fri Feb 12 11:59:11 2021 PST Origin : devel/llvm10 Architecture : FreeBSD:14:armv7 Prefix : /usr/local Categories : devel lang Licenses : MIT, BSD3CLAUSE, PD, REGEX, LLVM2, LLVM Maintainer : brooks@FreeBSD.org WWW : http://llvm.org/ Comment : LLVM and Clang Options : BE_AMDGPU : on BE_FREEBSD : off BE_NATIVE : on BE_STANDARD : off CLANG : on DOCS : on EXTRAS : on LIT : on LLD : on LLDB : on LLD_LINK : on PYCLANG : off Shared Libs required: libedit.so.0 liblua-5.2.so libpython3.7m.so.1.0 libxml2.so.2 Shared Libs provided: libLTO.so.10 libRemarks.so.10 libLLVM-10.so libclang-cpp.so.10 liblldb.so.10 libclang.so.10 Annotations : FreeBSD_version: 1400004 repo_type : binary repository : custom Flat size : 511MiB Description : The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. This port includes Clang (a C/C++/Objective-C compiler), LLD (a linker), LLDB (a debugger), an OpenMP runtime library, and the LLVM = infrastructure these are built on. WWW: http://llvm.org/ So somehow specific to Cortex-A57/Cortex-A72 or to aarch64 generally. (The MACCHIATObin Double Shot had the same build problem as the OverDrive 1000.) It might be appropriate to disable the BE_NATIVE option for aarch64 if it is going to silently not produce aarch64 support. =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?01DB1415-575E-46FA-B421-30AD3190A9F7>