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

From: Mark Millard <marklmi_at_yahoo.com>
Date: Thu, 17 Mar 2022 00:01:37 UTC

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