[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-arm
Subject:    Re: aarch64 host based sysutils/u-boot-{pine64, rock64, rpi[34]} builds fail for: "aarch64-none-elf-
From:       Mark Millard via freebsd-arm <freebsd-arm () freebsd ! org>
Date:       2020-04-29 20:16:55
Message-ID: 63269C29-F51E-43D2-A162-40C4EFF402A9 () yahoo ! com
[Download RAW message or body]



On 2020-Apr-29, at 10:22, Emmanuel Vadot <manu at bidouilliste.com> wrote:

> On Wed, 29 Apr 2020 12:50:36 +0200
> Emmanuel Vadot <manu@bidouilliste.com> wrote:
> 
> > On Wed, 29 Apr 2020 01:36:01 -0700
> > Mark Millard <marklmi@yahoo.com> wrote:
> > 
> > > [Build successes for building via poudriere-devel.
> > > Message history removed.]
> > > 
> > > Based on (some whitespace details might not survive):
> > > 
> > > # svnlite diff /usr/ports/devel/aarch64-none-elf-gcc/
> > > Index: /usr/ports/devel/aarch64-none-elf-gcc/Makefile
> > > ===================================================================
> > > --- /usr/ports/devel/aarch64-none-elf-gcc/Makefile	(revision 533162)
> > > +++ /usr/ports/devel/aarch64-none-elf-gcc/Makefile	(working copy)
> > > @@ -19,7 +19,8 @@
> > > LIB_DEPENDS=	libgmp.so:math/gmp \
> > > 		libmpfr.so:math/mpfr \
> > > 		libmpc.so:math/mpc
> > > -BUILD_DEPENDS=	${GCC_TARGET}-as:devel/binutils@${PKGNAMEPREFIX:C/-$//:C/-/_/g}
> > > +BUILD_DEPENDS=	${GCC_TARGET}-as:devel/binutils@${PKGNAMEPREFIX:C/-$//:C/-/_/g} \
> > > \ +		objdump:devel/binutils
> > 
> > That brings binutils-native as a build depend, which works on aarch64
> > but I don't think it will for cross building.
> > But yes the solution is something like that, the "missing" objdump
> > seems to make gcc not building the plugins.
> > 
> > > RUN_DEPENDS=	${GCC_TARGET}-as:devel/binutils@${PKGNAMEPREFIX:C/-$//:C/-/_/g}
> > > 
> > > USES=	gmake iconv libtool tar:xz makeinfo compiler:c++11-lang
> > > 
> > > 
> > > Things then finish (extracted messages from an amd64->aarch64 poudriere-based
> > > nxb-bin involved cross-build):
> > > 
> > > [00:14:17] [04] [00:13:40] Finished devel/aarch64-none-elf-gcc | \
> > > aarch64-none-elf-gcc-8.4.0_1: Success [00:15:16] [02] [00:00:57] Finished \
> > > sysutils/atf-sun50i_a64 | atf-sun50i_a64-v2.3: Success [00:15:19] [01] \
> > > [00:01:00] Finished sysutils/atf-rk3328 | atf-rk3328-v2.3: Success [00:16:10] \
> > > [05] [00:15:33] Finished devel/arm-none-eabi-gcc | arm-none-eabi-gcc-8.4.0_1: \
> > > Success [00:21:34] [04] [00:07:15] Finished sysutils/u-boot-rpi4 | \
> > > u-boot-rpi4-2020.04: Success [00:21:56] [03] [00:07:37] Finished \
> > > sysutils/u-boot-rpi3 | u-boot-rpi3-2020.04: Success [00:30:31] [06] [00:14:19] \
> > > Finished sysutils/u-boot-rpi2 | u-boot-rpi2-2020.04: Success [00:35:15] [07] \
> > > [00:19:03] Finished sysutils/u-boot-sinovoip-bpi-m3 | \
> > > u-boot-sinovoip-bpi-m3-2020.04: Success [00:35:34] [01] [00:20:15] Finished \
> > > sysutils/u-boot-rock64 | u-boot-rock64-2020.04: Success [00:35:41] [05] \
> > > [00:19:29] Finished sysutils/u-boot-orangepi-plus-2e | \
> > > u-boot-orangepi-plus-2e-2020.04: Success 
> > > (u-boot-pine64 still in process due to MAKE_JOBS_UNSAFE=yes use.)
> > > 
> > > aarch64 native builds also finished (not shown).
> > > 
> > > amd64 poudriere-based builds (non-qemu) also finished:
> > > 
> > > [00:03:22] [01] [00:03:08] Finished devel/aarch64-none-elf-gcc | \
> > > aarch64-none-elf-gcc-8.4.0_1: Success [00:03:31] [03] [00:00:08] Finished \
> > > sysutils/atf-sun50i_a64 | atf-sun50i_a64-v2.3: Success [00:03:31] [01] \
> > > [00:00:08] Finished sysutils/atf-rk3328 | atf-rk3328-v2.3: Success [00:03:33] \
> > > [02] [00:03:19] Finished devel/arm-none-eabi-gcc | arm-none-eabi-gcc-8.4.0_1: \
> > > Success [00:04:00] [04] [00:00:37] Finished sysutils/u-boot-rpi3 | \
> > > u-boot-rpi3-2020.04: Success [00:04:01] [05] [00:00:38] Finished \
> > > sysutils/u-boot-rpi4 | u-boot-rpi4-2020.04: Success [00:04:18] [06] [00:00:44] \
> > > Finished sysutils/u-boot-rpi2 | u-boot-rpi2-2020.04: Success [00:04:40] [02] \
> > > [00:01:06] Finished sysutils/u-boot-orangepi-plus-2e | \
> > > u-boot-orangepi-plus-2e-2020.04: Success [00:04:41] [07] [00:01:07] Finished \
> > > sysutils/u-boot-sinovoip-bpi-m3 | u-boot-sinovoip-bpi-m3-2020.04: Success \
> > > [00:04:42] [01] [00:01:10] Finished sysutils/u-boot-rock64 | \
> > > u-boot-rock64-2020.04: Success [00:06:46] [03] [00:03:15] Finished \
> > > sysutils/u-boot-pine64 | u-boot-pine64-2020.04: Success 
> > > 
> > > 
> > > FYI:
> > > 
> > > # svnlite diff /usr/ports/sysutils/u-boot-pine64/
> > > Index: /usr/ports/sysutils/u-boot-pine64/Makefile
> > > ===================================================================
> > > --- /usr/ports/sysutils/u-boot-pine64/Makefile	(revision 533162)
> > > +++ /usr/ports/sysutils/u-boot-pine64/Makefile	(working copy)
> > > @@ -6,4 +6,6 @@
> > > BOARD_CONFIG=	pine64_plus_defconfig
> > > FAMILY=		allwinner64
> > > 
> > > +MAKE_JOBS_UNSAFE=yes
> > > +
> > > .include "${MASTERDIR}/Makefile"
> > > 
> > > based on historical build-race problems specific to pine64's
> > > u-boot build. But it makes the qemu-based build take a very
> > > long time.
> > > 
> > > 
> > > ===
> > > Mark Millard
> > > marklmi at yahoo.com
> > > ( dsl-only.net went
> > > away in early 2018-Mar)
> > > 
> > 
> > 
> > -- 
> > Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>
> > _______________________________________________
> > freebsd-arm@freebsd.org mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"
> 
> Issue should be fixed in r533381.
> It works for me on aarch64 and on amd64.
> 

(The aarch64 hardware contexts are busy so I tested
via amd64 native poudriere and amd64->aarch64 nxb-bin
poudriere for now.)

It worked for devel/aarch64-non-elf-gcc on my aarch64
targeting tests but . . .

This fix failed for amd64->aarch64 nxb-bin based poudriere
build of arm-none-eabi-gcc :

[00:09:45] [02] [00:09:40] Finished devel/arm-none-eabi-gcc | \
                arm-none-eabi-gcc-8.4.0_1: Failed: package
. . .
[00:11:15] Failed ports: devel/arm-none-eabi-gcc:package

The objdump failed for being the wrong kind of executable:

Links are now set up to build a cross-compiler
 from aarch64-unknown-freebsd13.0 to arm-none-eabi.
checking for exported symbols... objdump: conftest: file format not recognized
yes
checking for -rdynamic... objdump: conftest: file format not recognized
no

This again lead to enable_plugins=no and the package stage noticing
the missing files:

===>  Building package for arm-none-eabi-gcc-8.4.0_1
pkg-static: Unable to access file \
/wrkdirs/usr/ports/devel/arm-none-eabi-gcc/work/stage/usr/local/lib/gcc/arm-none-eabi/8.4.0/plugin/gtype.state:No \
                such file or directory
pkg-static: Unable to access file \
/wrkdirs/usr/ports/devel/arm-none-eabi-gcc/work/stage/usr/local/lib/gcc/arm-none-eabi/8.4.0/plugin/include/ada/gcc-interface/ada-tree.def:No \
                such file or directory
pkg-static: Unable to access file \
/wrkdirs/usr/ports/devel/arm-none-eabi-gcc/work/stage/usr/local/lib/gcc/arm-none-eabi/8.4.0/plugin/include/addresses.h:No \
                such file or directory
. . .


By contrast the patch I tried earlier:

-BUILD_DEPENDS=	${GCC_TARGET}-as:devel/binutils@${PKGNAMEPREFIX:C/-$//:C/-/_/g}
+BUILD_DEPENDS=	${GCC_TARGET}-as:devel/binutils@${PKGNAMEPREFIX:C/-$//:C/-/_/g} \
+		objdump:devel/binutils

worked in all cases that I'm testing.


Note: I do not test amd64->armv7 via nxb-bin based
poudriere cross builds because qemu has its own
failures that hang up builds when I try that. But
I expect that armv7 building aarch64-non-elf-gcc
would have the same problem aarch64 has building
arm-none-eabi-gcc.

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

_______________________________________________
freebsd-arm@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic