From: Romain Naour <romain.naour@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] toolchain-external: add a check for broken toolchains
Date: Mon, 1 Feb 2016 14:03:39 +0100 [thread overview]
Message-ID: <56AF57AB.7050207@gmail.com> (raw)
In-Reply-To: <1454326287-2123-1-git-send-email-romain.naour@gmail.com>
Le 01/02/2016 12:31, Romain Naour a ?crit :
> Some toolchain release can be broken due to sysroot location issue,
> so the $(ARCH)-linux-gnu-gcc -print-file-name=libc.a command is
> broken and return only "libc.a"
>
> This lead to an error during the header check version helper,
> so these toolchains can't be imported into Buildroot.
>
> cc1: fatal error: $PWD/libc.a/usr/include/linux/version.h: No such file or directory
> compilation terminated.
> support/scripts/check-kernel-headers.sh: line 38: /tmp/check-headers.4V5PPF: Permission denied
>
> This issue happen with the first linaro 2015.11 [1] release and
> CodeSourcery standard edition [2].
>
> Here is the sysroot directory tree for linaro 2015.11:
> $ ls libc/arm-linux-gnueabihf
> etc lib sbin usr var
>
> Here is the sysroot directory tree for CodeSourcery standard:
> $ ls libc/sgxx-glibc
> etc lib lib64 sbin usr var
>
> Usually the sysroot is located directly under libc directory
> $ ls libc/
> etc lib sbin usr var
>
> Add a check to error out with an explicit error message
>
> [1] https://bugs.linaro.org/show_bug.cgi?id=1995#c7
> [2] http://lists.busybox.net/pipermail/buildroot/2014-October/110696.html
>
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
Please forget this patch, it doesn't work as expected :(
I'll move the check to check_unusable_toolchain helper instead.
Best regards,
Romain
> ---
> toolchain/toolchain-external/toolchain-external.mk | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
> index 9ebf7bd..303a32a 100644
> --- a/toolchain/toolchain-external/toolchain-external.mk
> +++ b/toolchain/toolchain-external/toolchain-external.mk
> @@ -478,6 +478,10 @@ define TOOLCHAIN_EXTERNAL_CONFIGURE_CMDS
> @echo "External toolchain doesn't support --sysroot. Cannot use." ; \
> exit 1 ; \
> fi ; \
> + if test "$${SYSROOT_DIR}" = "libc.a" ; then \
> + @echo "External toolchain broken, unable to find the main sysroot. Cannot use." ; \
> + exit 1 ; \
> + fi ; \
> $(call check_kernel_headers_version,\
> $(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC)),\
> $(call qstrip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST))); \
> @@ -571,6 +575,10 @@ define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_LIBS
> @echo "External toolchain doesn't support --sysroot. Cannot use." ; \
> exit 1 ; \
> fi ; \
> + if test "$${SYSROOT_DIR}" = "libc.a" ; then \
> + @echo "External toolchain broken, unable to find the main sysroot. Cannot use." ; \
> + exit 1 ; \
> + fi ; \
> ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \
> ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \
> SUPPORT_LIB_DIR="" ; \
>
next prev parent reply other threads:[~2016-02-01 13:03 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-01 11:31 [Buildroot] [PATCH] toolchain-external: add a check for broken toolchains Romain Naour
2016-02-01 13:03 ` Romain Naour [this message]
2016-02-01 13:15 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56AF57AB.7050207@gmail.com \
--to=romain.naour@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.