Re: aarch64 native context, devel/llvm14 build via poudriere-devel: build fails during "Building package for llvm14-14.0.0.r2" (armv7 too)

From: Brooks Davis <brooks_at_freebsd.org>
Date: Thu, 17 Mar 2022 17:55:37 UTC
Thank you for the reports.

I think I know what the issues are and am working on fixes.  I believe
using BE_STANDARD will work as a workaround.

-- Brooks

On Wed, Mar 16, 2022 at 05:01:37PM -0700, Mark Millard wrote:
> 
> 
> On 2022-Mar-15, at 17:47, Mark Millard <marklmi@yahoo.com> wrote:
> 
> > Based on trying to update to (from before devel/llvm-14 was present):
> > 
> > # ~/fbsd-based-on-what-commit.sh -C /usr/ports/
> > branch: main
> > merge-base: 0c4fe38bd1b9e3ede128751db17a8a2d1bdffe6f
> > merge-base: CommitDate: 2022-03-15 16:15:33 +0000
> > 0c4fe38bd1b9 (HEAD -> main, freebsd/main, freebsd/HEAD) misc/urh: Update 2.9.2 -> 2.9.3
> > n577366 (--first-parent --count for merge-base)
> > 
> > via:
> > # poudriere jail -j13_0R-CA72 -i
> > Jail name:         13_0R-CA72
> > Jail version:      13.0-RELEASE-p7
> > Jail arch:         arm64.aarch64
> > Jail method:       null
> > Jail mount:        /usr/obj/DESTDIRs/13_0R-CA72-poud
> > Jail fs:           
> > Jail updated:      2022-03-13 22:41:31
> > Jail pkgbase:      disabled
> > 
> > Using:
> > 
> > ---Begin OPTIONS List---
> > ===> The following configuration options are available for llvm14-14.0.0.r2:
> >     BE_AMDGPU=on: AMD GPU backend (required by mesa)
> >     BE_WASM=off: WebAssembly backend (required by firefox via wasi)
> >     CLANG=on: Build clang
> >     DOCS=on: Build and/or install documentation
> >     EXTRAS=on: Extra clang tools
> >     FLANG=off: Flang FORTRAN compiler
> >     LIT=on: Install lit and FileCheck test tools
> >     LLD=on: Install lld, the LLVM linker
> >     LLDB=on: Install lldb, the LLVM debugger
> >     MLIR=on: Multi-Level Intermediate Representation
> >     OPENMP=on: Install libomp, the LLVM OpenMP runtime library
> >     PYCLANG=off: Install python bindings to libclang
> > ====> Options available for the single BACKENDS: you have to select exactly one of them
> >     BE_FREEBSD=off: Backends for FreeBSD architectures
> >     BE_NATIVE=on: Backend(s) for this architecture (AArch64)
> >     BE_STANDARD=off: All non-experimental backends
> > 
> > the build failed with:
> > 
> > ===>  Building package for llvm14-14.0.0.r2
> > pkg-static: Unable to access file /wrkdirs/usr/ports/devel/llvm14/work/stage/usr/local/llvm14/lib/clang/14.0.0/include/riscv_vector.h:No such file or directory
> > pkg-static: Unable to access file /wrkdirs/usr/ports/devel/llvm14/work/stage/usr/local/llvm14/lib/libLLVMVEAsmParser.a:No such file or directory
> > pkg-static: Unable to access file /wrkdirs/usr/ports/devel/llvm14/work/stage/usr/local/llvm14/lib/libLLVMVECodeGen.a:No such file or directory
> > pkg-static: Unable to access file /wrkdirs/usr/ports/devel/llvm14/work/stage/usr/local/llvm14/lib/libLLVMVEDesc.a:No such file or directory
> > pkg-static: Unable to access file /wrkdirs/usr/ports/devel/llvm14/work/stage/usr/local/llvm14/lib/libLLVMVEDisassembler.a:No such file or directory
> > pkg-static: Unable to access file /wrkdirs/usr/ports/devel/llvm14/work/stage/usr/local/llvm14/lib/libLLVMVEInfo.a:No such file or directory
> > *** Error code 1
> 
> main [so:  14] also got that:
> 
> # poudriere jail -jmain-CA72 -i
> Jail name:         main-CA72
> Jail version:      14.0-CURRENT
> Jail arch:         arm64.aarch64
> Jail method:       null
> Jail mount:        /usr/obj/DESTDIRs/main-CA72-poud
> Jail fs:           
> Jail updated:      2021-06-27 17:48:11
> Jail pkgbase:      disabled
> 
> 
> Targeting armv7 (on harware that supports aarch32/armv7
> directly, in addition to aarch64) also got that result:
> 
> # poudriere jail -jmain-CA7 -i
> Jail name:         main-CA7
> Jail version:      14.0-CURRENT
> Jail arch:         arm.armv7
> Jail method:       null
> Jail mount:        /usr/obj/DESTDIRs/main-CA7-poud
> Jail fs:           
> Jail updated:      2021-06-27 17:58:33
> Jail pkgbase:      disabled
> 
> The armv7 style build failed with:
> 
> ===>  Building package for llvm14-14.0.0.r2
> pkg-static: Unable to access file /wrkdirs/usr/ports/devel/llvm14/work/stage/usr/local/llvm14/lib/clang/14.0.0/include/riscv_vector.h:No such file or directory
> pkg-static: Unable to access file /wrkdirs/usr/ports/devel/llvm14/work/stage/usr/local/llvm14/lib/libLLVMVEAsmParser.a:No such file or directory
> pkg-static: Unable to access file /wrkdirs/usr/ports/devel/llvm14/work/stage/usr/local/llvm14/lib/libLLVMVECodeGen.a:No such file or directory
> pkg-static: Unable to access file /wrkdirs/usr/ports/devel/llvm14/work/stage/usr/local/llvm14/lib/libLLVMVEDesc.a:No such file or directory
> pkg-static: Unable to access file /wrkdirs/usr/ports/devel/llvm14/work/stage/usr/local/llvm14/lib/libLLVMVEDisassembler.a:No such file or directory
> pkg-static: Unable to access file /wrkdirs/usr/ports/devel/llvm14/work/stage/usr/local/llvm14/lib/libLLVMVEInfo.a:No such file or directory
> *** Error code 1
> 
> For reference:
> 
> These were all based on the same OPTIONS selections,
> although armv7 contexts likely ignore ones that do not
> apply. So, looking in armv7's log file:
> 
> ---Begin OPTIONS List---
> ===> The following configuration options are available for llvm14-14.0.0.r2:
>      BE_AMDGPU=on: AMD GPU backend (required by mesa)
>      BE_WASM=off: WebAssembly backend (required by firefox via wasi)
>      CLANG=on: Build clang
>      DOCS=on: Build and/or install documentation
>      EXTRAS=on: Extra clang tools
>      LIT=on: Install lit and FileCheck test tools
>      LLD=on: Install lld, the LLVM linker
>      LLDB=on: Install lldb, the LLVM debugger
>      MLIR=on: Multi-Level Intermediate Representation
>      PYCLANG=off: Install python bindings to libclang
> ====> Options available for the single BACKENDS: you have to select exactly one of them
>      BE_FREEBSD=off: Backends for FreeBSD architectures
>      BE_NATIVE=on: Backend(s) for this architecture (ARM)
>      BE_STANDARD=off: All non-experimental backends
> 
> 
> ===
> Mark Millard
> marklmi at yahoo.com
>