Message ID | 20230706170904.1063565-3-vfazio@gmail.com |
---|---|
State | Rejected |
Headers | show |
Series | [1/3] toolchain/toolchain-external/toolchain-external-bootlin: flag OpenMP support | expand |
On Thu, 6 Jul 2023 at 10:19, Vincent Fazio <vfazio@gmail.com> wrote: > > Call these unconditionally to make sure proper support is flagged so > proper dependencies are included in the resultant filesystem. What is the reason behind this change? It has a high potential of breaking the build for users. It certainly does for us. >>> host-skeleton Executing pre-build script board/brcmstb/pre-build.sh >>> toolchain-external-custom Configuring /bin/bash: line 1: /opt/toolchains/stbgcc-8.3-1.0/bin/aarch64-linux-gfortran: No such file or directory OpenMP support is not selected but is available in external toolchain make[1]: *** [package/pkg-generic.mk:283: /storage/Extra/buildroot/output/arm64/build/toolchain-external-custom/.stamp_configured] Error 1 make: *** [Makefile:27: _all] Error 2 I don't think that having a gfortran compiler is a mandatory prerequisite to be using a toolchain for Buildroot. At least it shouldn't be. Can't this be implemented in such a way that the build won't just fail for no good reason whatsoever? Thanks, -Markus > Signed-off-by: Vincent Fazio <vfazio@gmail.com> > --- > .../toolchain-external/pkg-toolchain-external.mk | 16 ++++------------ > 1 file changed, 4 insertions(+), 12 deletions(-) > > diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk > index c37f3500d9..ddf1d70ab4 100644 > --- a/toolchain/toolchain-external/pkg-toolchain-external.mk > +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk > @@ -576,18 +576,10 @@ define $(2)_CONFIGURE_CMDS > $$(call check_arm_abi,\ > "$$(TOOLCHAIN_EXTERNAL_CC) $$(TOOLCHAIN_EXTERNAL_CFLAGS)") ; \ > fi ; \ > - if test "$$(BR2_INSTALL_LIBSTDCPP)" = "y" ; then \ > - $$(call check_cplusplus,$$(TOOLCHAIN_EXTERNAL_CXX)) ; \ > - fi ; \ > - if test "$$(BR2_TOOLCHAIN_HAS_DLANG)" = "y" ; then \ > - $$(call check_dlang,$$(TOOLCHAIN_EXTERNAL_GDC)) ; \ > - fi ; \ > - if test "$$(BR2_TOOLCHAIN_HAS_FORTRAN)" = "y" ; then \ > - $$(call check_fortran,$$(TOOLCHAIN_EXTERNAL_FC)) ; \ > - fi ; \ > - if test "$$(BR2_TOOLCHAIN_HAS_OPENMP)" = "y" ; then \ > - $$(call check_openmp,$$(TOOLCHAIN_EXTERNAL_CC)) ; \ > - fi ; \ > + $$(call check_cplusplus,$$(TOOLCHAIN_EXTERNAL_CXX)) ; \ > + $$(call check_dlang,$$(TOOLCHAIN_EXTERNAL_GDC)) ; \ > + $$(call check_fortran,$$(TOOLCHAIN_EXTERNAL_FC)) ; \ > + $$(call check_openmp,$$(TOOLCHAIN_EXTERNAL_CC)) ; \ > if test "$$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)" = "y" ; then \ > $$(call check_uclibc,$$$${SYSROOT_DIR}) ; \ > elif test "$$(BR2_TOOLCHAIN_EXTERNAL_MUSL)" = "y" ; then \ > -- > 2.34.1 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
On Mon, 24 Jul 2023 at 17:05, Markus Mayer <mmayer@broadcom.com> wrote: > > On Thu, 6 Jul 2023 at 10:19, Vincent Fazio <vfazio@gmail.com> wrote: > > > > Call these unconditionally to make sure proper support is flagged so > > proper dependencies are included in the resultant filesystem. > > What is the reason behind this change? It has a high potential of > breaking the build for users. > > It certainly does for us. > > >>> host-skeleton Executing pre-build script board/brcmstb/pre-build.sh > >>> toolchain-external-custom Configuring > /bin/bash: line 1: > /opt/toolchains/stbgcc-8.3-1.0/bin/aarch64-linux-gfortran: No such > file or directory > OpenMP support is not selected but is available in external toolchain > make[1]: *** [package/pkg-generic.mk:283: > /storage/Extra/buildroot/output/arm64/build/toolchain-external-custom/.stamp_configured] > Error 1 > make: *** [Makefile:27: _all] Error 2 Okay. It isn't gfortran that aborts the build but OpenMP, and I can fix that by setting BR2_TOOLCHAIN_EXTERNAL_OPENMP=y Still, the gfortran error message ("No such file or directory") should probably not appear. Let me see if I can whip up a patch for that. >> host-skeleton Executing pre-build script board/brcmstb/pre-build.sh >>> toolchain-external-custom Extracting >>> toolchain-external-custom Patching >>> toolchain-external-custom Configuring /bin/bash: line 1: /opt/toolchains/stbgcc-8.3-1.0/bin/aarch64-linux-gfortran: No such file or directory >>> toolchain-external-custom Building /storage/Extra/buildroot/output/arm64/host/bin/ccache /usr/bin/gcc -O2 -I/storage/Extra/buildroot/output/arm64/host/include -DNDEBUG -DBR_CPU='"cortex-a53"' -DBR_ABI='"lp64"' -DBR_CROSS_PATH_SUFFIX='""' -DBR_CROSS_PATH_ABS='"/opt/toolchains/stbgcc-8.3-1.0/bin"' -DBR_SYSROOT='"aarch64-buildroot-linux-gnu/sysroot"' -DBR_ADDITIONAL_CFLAGS='"-Wl,-z,max-page-size=4096", "-Wl,-z,common-page-size=4096", "-fstack-protector-strong",' -DBR_CCACHE -DBR_CCACHE_BASEDIR='"/storage/Extra/buildroot/output/arm64"' -DBR2_PIC_PIE -DBR2_RELRO_FULL -s -Wl,--hash-style=both toolchain/toolchain-wrapper.c -o /storage/Extra/buildroot/output/arm64/build/toolchain-external-custom/toolchain-wrapper >>> toolchain-external-custom Installing to staging directory Regards, -Markus > > Signed-off-by: Vincent Fazio <vfazio@gmail.com> > > --- > > .../toolchain-external/pkg-toolchain-external.mk | 16 ++++------------ > > 1 file changed, 4 insertions(+), 12 deletions(-) > > > > diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk > > index c37f3500d9..ddf1d70ab4 100644 > > --- a/toolchain/toolchain-external/pkg-toolchain-external.mk > > +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk > > @@ -576,18 +576,10 @@ define $(2)_CONFIGURE_CMDS > > $$(call check_arm_abi,\ > > "$$(TOOLCHAIN_EXTERNAL_CC) $$(TOOLCHAIN_EXTERNAL_CFLAGS)") ; \ > > fi ; \ > > - if test "$$(BR2_INSTALL_LIBSTDCPP)" = "y" ; then \ > > - $$(call check_cplusplus,$$(TOOLCHAIN_EXTERNAL_CXX)) ; \ > > - fi ; \ > > - if test "$$(BR2_TOOLCHAIN_HAS_DLANG)" = "y" ; then \ > > - $$(call check_dlang,$$(TOOLCHAIN_EXTERNAL_GDC)) ; \ > > - fi ; \ > > - if test "$$(BR2_TOOLCHAIN_HAS_FORTRAN)" = "y" ; then \ > > - $$(call check_fortran,$$(TOOLCHAIN_EXTERNAL_FC)) ; \ > > - fi ; \ > > - if test "$$(BR2_TOOLCHAIN_HAS_OPENMP)" = "y" ; then \ > > - $$(call check_openmp,$$(TOOLCHAIN_EXTERNAL_CC)) ; \ > > - fi ; \ > > + $$(call check_cplusplus,$$(TOOLCHAIN_EXTERNAL_CXX)) ; \ > > + $$(call check_dlang,$$(TOOLCHAIN_EXTERNAL_GDC)) ; \ > > + $$(call check_fortran,$$(TOOLCHAIN_EXTERNAL_FC)) ; \ > > + $$(call check_openmp,$$(TOOLCHAIN_EXTERNAL_CC)) ; \ > > if test "$$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)" = "y" ; then \ > > $$(call check_uclibc,$$$${SYSROOT_DIR}) ; \ > > elif test "$$(BR2_TOOLCHAIN_EXTERNAL_MUSL)" = "y" ; then \ > > -- > > 2.34.1 > > > > _______________________________________________ > > buildroot mailing list > > buildroot@buildroot.org > > https://lists.buildroot.org/mailman/listinfo/buildroot
> > >>> host-skeleton Executing pre-build script board/brcmstb/pre-build.sh > > >>> toolchain-external-custom Configuring > > /bin/bash: line 1: > > /opt/toolchains/stbgcc-8.3-1.0/bin/aarch64-linux-gfortran: No such > > file or directory > > OpenMP support is not selected but is available in external toolchain > > make[1]: *** [package/pkg-generic.mk:283: > > /storage/Extra/buildroot/output/arm64/build/toolchain-external-custom/.stamp_configured] > > Error 1 > > make: *** [Makefile:27: _all] Error 2 > [...] > > Still, the gfortran error message ("No such file or directory") should > probably not appear. Let me see if I can whip up a patch for that. Patch sent. https://lists.buildroot.org/pipermail/buildroot/2023-July/671113.html Regards, -Markus
diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk index c37f3500d9..ddf1d70ab4 100644 --- a/toolchain/toolchain-external/pkg-toolchain-external.mk +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk @@ -576,18 +576,10 @@ define $(2)_CONFIGURE_CMDS $$(call check_arm_abi,\ "$$(TOOLCHAIN_EXTERNAL_CC) $$(TOOLCHAIN_EXTERNAL_CFLAGS)") ; \ fi ; \ - if test "$$(BR2_INSTALL_LIBSTDCPP)" = "y" ; then \ - $$(call check_cplusplus,$$(TOOLCHAIN_EXTERNAL_CXX)) ; \ - fi ; \ - if test "$$(BR2_TOOLCHAIN_HAS_DLANG)" = "y" ; then \ - $$(call check_dlang,$$(TOOLCHAIN_EXTERNAL_GDC)) ; \ - fi ; \ - if test "$$(BR2_TOOLCHAIN_HAS_FORTRAN)" = "y" ; then \ - $$(call check_fortran,$$(TOOLCHAIN_EXTERNAL_FC)) ; \ - fi ; \ - if test "$$(BR2_TOOLCHAIN_HAS_OPENMP)" = "y" ; then \ - $$(call check_openmp,$$(TOOLCHAIN_EXTERNAL_CC)) ; \ - fi ; \ + $$(call check_cplusplus,$$(TOOLCHAIN_EXTERNAL_CXX)) ; \ + $$(call check_dlang,$$(TOOLCHAIN_EXTERNAL_GDC)) ; \ + $$(call check_fortran,$$(TOOLCHAIN_EXTERNAL_FC)) ; \ + $$(call check_openmp,$$(TOOLCHAIN_EXTERNAL_CC)) ; \ if test "$$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)" = "y" ; then \ $$(call check_uclibc,$$$${SYSROOT_DIR}) ; \ elif test "$$(BR2_TOOLCHAIN_EXTERNAL_MUSL)" = "y" ; then \
Call these unconditionally to make sure proper support is flagged so proper dependencies are included in the resultant filesystem. Signed-off-by: Vincent Fazio <vfazio@gmail.com> --- .../toolchain-external/pkg-toolchain-external.mk | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-)