Re: make buildworld broken on RISC-V.

From: Mitchell Horne <mhorne_at_freebsd.org>
Date: Wed, 06 Oct 2021 13:37:26 UTC
On Wed, Oct 6, 2021 at 7:23 AM Karel Gardas <gardask@gmail.com> wrote:
>
>
> Hello,
>
> I'm using 14-CURRENT oprovided qcow2 image from September 30 in
> qemu-system-risc64. It runs fine so I'm testing it with attempting make
> buildworld. This unfortunately fails with:
>
> ===> lib/clang/headers (includes)
> [Creating objdir /usr/obj/usr/src/riscv.riscv64/lib/clang/headers...]
> clang-tblgen -gen-arm-bf16  -I
> /usr/src/contrib/llvm-project/clang/include/clang/Basic -d arm_bf16.h.d
> -o arm_bf16.h
> /usr/src/contrib/llvm-project/clang/include/clang/Basic/arm_bf16.td
> ELF binary type "0" not known.
> /usr/obj/usr/src/riscv.riscv64/tmp/legacy/usr/sbin/clang-tblgen: ELF�Т:
> not found
> /usr/obj/usr/src/riscv.riscv64/tmp/legacy/usr/sbin/clang-tblgen: @h�a@8:
> not found
> /usr/obj/usr/src/riscv.riscv64/tmp/legacy/usr/sbin/clang-tblgen: @@@0�:
> not found
> /usr/obj/usr/src/riscv.riscv64/tmp/legacy/usr/sbin/clang-tblgen: �: not
> found
> /usr/obj/usr/src/riscv.riscv64/tmp/legacy/usr/sbin/clang-tblgen: 1:
> Syntax error: "(" unexpected
> /usr/obj/usr/src/riscv.riscv64/tmp/legacy/usr/sbin/clang-tblgen: 5:
> Syntax error: Error in command substitution
> *** Error code 2
>
> Stop.
> make[5]: stopped in /usr/src/lib/clang/headers
> *** Error code 1
>
> Stop.
> make[4]: stopped in /usr/src/lib/clang
> *** Error code 1
>
> Stop.
> make[3]: stopped in /usr/src/lib
> *** Error code 1
>
> Stop.
> make[2]: stopped in /usr/src
>        370.58 real       114.97 user       258.16 sys
> *** Error code 1
>
> Stop.
> make[1]: stopped in /usr/src
> *** Error code 1
>
> Stop.
> make: stopped in /usr/src
>
>
> I'm not sure which from available clang-tblgen is invoked:
>
> # find / -type f -name
> 'clang-tblgen'/usr/obj/usr/src/riscv.riscv64/tmp/legacy/bin/clang-tblgen
> /usr/obj/usr/src/riscv.riscv64/tmp/obj-tools/usr.bin/clang/clang-tblgen/clang-tblgen
>
>
> but both seems to be reasonable file types:
>
> root@freebsd:/usr/src/lib/clang/headers # file
> /usr/obj/usr/src/riscv.riscv64/tmp/legacy/bin/clang-tblgen
> /usr/obj/usr/src/riscv.riscv64/tmp/legacy/bin/clang-tblgen: ELF 64-bit
> LSB executable, UCB RISC-V, version 1 (SYSV), statically linked,
> FreeBSD-style, not stripped
> root@freebsd:/usr/src/lib/clang/headers # file
> /usr/obj/usr/src/riscv.riscv64/tmp/obj-tools/usr.bin/clang/clang-tblgen/clang-tblgen
> /usr/obj/usr/src/riscv.riscv64/tmp/obj-tools/usr.bin/clang/clang-tblgen/clang-tblgen:
> ELF 64-bit LSB executable, UCB RISC-V, version 1 (SYSV), statically
> linked, FreeBSD-style, not stripped
>
>
> Is there any trick how to solve this issue?
>

This has been reported here:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258358

There is a workaround provided which allows the build to proceed, see
comment #4 and #6.

Cheers,
Mitchell

> Thanks,
> Karel
>