Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Apr 2020 17:15:11 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        Emmanuel Vadot <manu@bidouilliste.com>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD ports <freebsd-ports@freebsd.org>
Subject:   Re: aarch64 host based sysutils/u-boot-{pine64, rock64, rpi[34]} builds fail for: "aarch64-none-elf-gcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found"
Message-ID:  <38BE4488-2BE4-4B9F-BABA-0324B6A7AE8D@yahoo.com>
In-Reply-To: <20200427204606.69157e78e6eb92f3481e47e3@bidouilliste.com>
References:  <0085757C-02B1-4CB9-9B67-01EB5D6AA86A@yahoo.com> <E5B9A9B4-B574-4303-BD17-F4366BBBD2DC@yahoo.com> <20200427123246.42e3844f39c349aac81009ff@bidouilliste.com> <20200427204606.69157e78e6eb92f3481e47e3@bidouilliste.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On 2020-Apr-27, at 11:46, Emmanuel Vadot <manu at bidouilliste.com> =
wrote:

> On Mon, 27 Apr 2020 12:32:46 +0200
> Emmanuel Vadot <manu at bidouilliste.com> wrote:
>=20
>> On Sun, 26 Apr 2020 12:13:46 -0700
>> Mark Millard via freebsd-arm <freebsd-arm at freebsd.org> wrote:
>>=20
>>>=20
>>>=20
>>> On 2020-Apr-26, at 01:14, Mark Millard <marklmi at yahoo.com> wrote:
>>>=20
>>>> The below where based on poudriere-devel based build attempts.
>>>> /usr/ports/ was based on head -r532972 and aarch64 FreeBSD was
>>>> based on head -r360311 . amd64 FreeBSD did not have the build
>>>> problem for the aaarch64-targeted u-boot ports.
>>>>=20
>>>> The overall build is still going and more aarch64-targeted
>>>> u-boot builds might fail.
>>>>=20
>>>>=20
>>>> sysutils/u-boot-rpi4 :
>>>>=20
>>>> aarch64-none-elf-gcc -x c -DDO_DEPS_ONLY -M -MP -Wall =
-Wstrict-prototypes -Wno-format-security -fno-builtin -ffreestanding =
-std=3Dgnu11 -fshort-wchar -fno-strict-aliasing -fno-PIE -O2 =
-fno-stack-protector -fno-delete-null-pointer-checks =
-fmacro-prefix-map=3D./=3D -g -fstack-usage -Wno-format-nonliteral  =
-Werror=3Ddate-time  -D__KERNEL__ -D__UBOOT__   -D__ARM__           =
-fno-pic  -mstrict-align  -ffunction-sections -fdata-sections =
-fno-common -ffixed-r9     -fno-common -ffixed-x18 -pipe -Iinclude  =
-I./arch/arm/include -include ./include/linux/kconfig.h  -nostdinc =
-isystem /usr/local/lib/gcc/aarch64-none-elf/8.4.0/include -MQ =
include/config/auto.conf ./include/common.h > include/autoconf.mk.dep || =
{ rm include/autoconf.mk.dep; false; }
>>>> sed -n -f ./tools/scripts/define2mk.sed u-boot.cfg | while read =
line; do if [ -n "" ] || ! grep -q "${line%=3D*}=3D" =
include/config/auto.conf; then echo "$line"; fi done > =
include/autoconf.mk
>>>> aarch64-none-elf-gcc: fatal error: -fuse-linker-plugin, but =
liblto_plugin.so not found
>>>> compilation terminated.
>>>> gmake[2]: *** [scripts/Makefile.autoconf:48: =
include/autoconf.mk.dep] Error 1
>>>> gmake[2]: *** Waiting for unfinished jobs....
>>>> gmake[1]: *** No rule to make target 'include/config/auto.conf', =
needed by 'include/config/uboot.release'.  Stop.
>>>> gmake[1]: Leaving directory =
'/wrkdirs/usr/ports/sysutils/u-boot-rpi4/work/u-boot-2020.04'
>>>>=20
>>>>=20
>>>> sysutils/u-boot-rpi3 :
>>>>=20
>>>> aarch64-none-elf-gcc -x c -DDO_DEPS_ONLY -M -MP -Wall =
-Wstrict-prototypes -Wno-format-security -fno-builtin -ffreestanding =
-std=3Dgnu11 -fshort-wchar -fno-strict-aliasing -fno-PIE -O2 =
-fno-stack-protector -fno-delete-null-pointer-checks =
-fmacro-prefix-map=3D./=3D -g -fstack-usage -Wno-format-nonliteral  =
-Werror=3Ddate-time  -D__KERNEL__ -D__UBOOT__   -D__ARM__           =
-fno-pic  -mstrict-align  -ffunction-sections -fdata-sections =
-fno-common -ffixed-r9     -fno-common -ffixed-x18 -pipe -Iinclude  =
-I./arch/arm/include -include ./include/linux/kconfig.h  -nostdinc =
-isystem /usr/local/lib/gcc/aarch64-none-elf/8.4.0/include -MQ =
include/config/auto.conf ./include/common.h > include/autoconf.mk.dep || =
{ rm include/autoconf.mk.dep; false; }
>>>> aarch64-none-elf-gcc: fatal error: -fuse-linker-plugin, but =
liblto_plugin.so not found
>>>> compilation terminated.
>>>> gmake[2]: *** [scripts/Makefile.autoconf:48: =
include/autoconf.mk.dep] Error 1
>>>> gmake[2]: *** Waiting for unfinished jobs....
>>>> gmake[1]: *** No rule to make target 'include/config/auto.conf', =
needed by 'include/config/uboot.release'.  Stop.
>>>> gmake[1]: Leaving directory =
'/wrkdirs/usr/ports/sysutils/u-boot-rpi3/work/u-boot-2020.04'
>>=20
>> The lto plugins didn't used to compile on a native build of gcc
>> on aarch64 but I've updated gcc to 8.4 recently, maybe the plugin now
>> works or gcc think that it does and try to use it.
>> I'll do tests, thanks for the report.
>=20
> This is solved with r533162.
> I've tested that sysutils/u-boot-pine64-lts build and boots fine.
> Let me know if you have still any issues.

The poudriere-devel runs based on updating /usr/ports content
ended up scheduling 190 package builds, including a couple of
llvm*'s. Depending on where in the sequence things happen, it
could be some time before having such full-native results.

In a amd64->aarch64 pouriere-devel based cross-build, with
nxb-bin in use (a faster build environment in my context),
I got:

. . .
gmake[4]: Leaving directory =
'/wrkdirs/usr/ports/devel/aarch64-none-elf-gcc/work/.build/aarch64-none-el=
f/ilp32/libgcc'
gmake[3]: Leaving directory =
'/wrkdirs/usr/ports/devel/aarch64-none-elf-gcc/work/.build/aarch64-none-el=
f/libgcc'
gmake[2]: Leaving directory =
'/wrkdirs/usr/ports/devel/aarch64-none-elf-gcc/work/.build/aarch64-none-el=
f/libgcc'
gmake[1]: Leaving directory =
'/wrkdirs/usr/ports/devel/aarch64-none-elf-gcc/work/.build'
=3D=3D=3D=3D> Compressing man pages (compress-man)
=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<phas=
e: package        >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=3D=3D>  Building package for aarch64-none-elf-gcc-8.4.0_1
pkg-static: Unable to access file =
/wrkdirs/usr/ports/devel/aarch64-none-elf-gcc/work/stage/usr/local/lib/gcc=
/aarch64-none-elf/8.4.0/plugin/gtype.state:No such file or directory
pkg-static: Unable to access file =
/wrkdirs/usr/ports/devel/aarch64-none-elf-gcc/work/stage/usr/local/lib/gcc=
/aarch64-none-elf/8.4.0/plugin/include/ada/gcc-interface/ada-tree.def:No =
such file or direct
ory
pkg-static: Unable to access file =
/wrkdirs/usr/ports/devel/aarch64-none-elf-gcc/work/stage/usr/local/lib/gcc=
/aarch64-none-elf/8.4.0/plugin/include/addresses.h:No such file or =
directory
pkg-static: Unable to access file =
/wrkdirs/usr/ports/devel/aarch64-none-elf-gcc/work/stage/usr/local/lib/gcc=
/aarch64-none-elf/8.4.0/plugin/include/alias.h:No such file or directory
. . . (long list) . . .


That leads to:

[00:29:06] [04] [00:10:01] Saved devel/aarch64-none-elf-gcc | =
aarch64-none-elf-gcc-8.4.0_1 wrkdir to: =
/usr/local/poudriere/data/wrkdirs/FBSDFSSDjailCortexA53-default/default/aa=
rch64-none-elf-gcc-8.4.0_1.tar
[00:29:10] [04] [00:10:05] Finished devel/aarch64-none-elf-gcc | =
aarch64-none-elf-gcc-8.4.0_1: Failed: package
[00:29:12] [04] [00:10:07] Skipping sysutils/atf-rk3328 | =
atf-rk3328-v2.3: Dependent port devel/aarch64-none-elf-gcc | =
aarch64-none-elf-gcc-8.4.0_1 failed
[00:29:12] [04] [00:10:07] Skipping sysutils/atf-sun50i_a64 | =
atf-sun50i_a64-v2.3: Dependent port devel/aarch64-none-elf-gcc | =
aarch64-none-elf-gcc-8.4.0_1 failed
[00:29:12] [04] [00:10:07] Skipping sysutils/u-boot-pine64 | =
u-boot-pine64-2020.04: Dependent port devel/aarch64-none-elf-gcc | =
aarch64-none-elf-gcc-8.4.0_1 failed
[00:29:12] [04] [00:10:07] Skipping sysutils/u-boot-rock64 | =
u-boot-rock64-2020.04: Dependent port devel/aarch64-none-elf-gcc | =
aarch64-none-elf-gcc-8.4.0_1 failed
[00:29:12] [04] [00:10:07] Skipping sysutils/u-boot-rpi3 | =
u-boot-rpi3-2020.04: Dependent port devel/aarch64-none-elf-gcc | =
aarch64-none-elf-gcc-8.4.0_1 failed
[00:29:12] [04] [00:10:07] Skipping sysutils/u-boot-rpi4 | =
u-boot-rpi4-2020.04: Dependent port devel/aarch64-none-elf-gcc | =
aarch64-none-elf-gcc-8.4.0_1 failed



I'm guessing that the full-native builds will do similarly.
But we will eventually see.

> Thanks.
>=20
>>>=20
>>> The pine64 and rock64 u-boot builds also failed this way.
>>> With the rpi[34], those 4 are all the aarch64-targeted
>>> u-boot builds that I tried.
>>>=20
>>> By contrast, the armv7 u-boot's that I tried all completed:
>>> orangepi-plus-2e, rpi2, and sinovoip-bpi-m3.
>>=20

=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?38BE4488-2BE4-4B9F-BABA-0324B6A7AE8D>