Skip to contentSkip to conversation

toolchain/external: do not accept distro-class toolchains

PATCH New Yann E. MORIN 3 participants 4 messages Jan 25, 2015 – Jan 28, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 toolchain/external: do not accept distro-class toolchains

Cc Thomas Petazzoni <[email protected]>
---
 toolchain/helpers.mk | 5 +++++
 1 file changed, 5 insertions(+)
toolchain/helpers.mk +5 -0
index 3121da4..61a3639 100644
@@ -347,6 +347,11 @@ check_unusable_toolchain = \
 		echo "them unsuitable as external toolchains for build systems" ; \
 		echo "such as Buildroot." ; \
 		exit 1 ; \
+	fi; \
+	with_sysroot=`$${__CROSS_CC} -v 2>&1 |sed -r -e '/.* --with-sysroot=([^[:space:]]+)[[:space:]].*/!d; s//\1/'`; \
+	if test "$${with_sysroot}"  = "/" ; then \
+		echo "Distribution toolchains are unsuitable for use by Buildroot," ; \
+		echo "as they were configured in a way that makes them non-relocatable."; \
 	fi
 
 #
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/1 toolchain/external: do not accept distro-class toolchains

Quoted 11 lines · Yann E. MORIN
Cc Thomas Petazzoni <[email protected]>
---
 toolchain/helpers.mk | 5 +++++
 1 file changed, 5 insertions(+)
toolchain/helpers.mk +0 -0
index 3121da4..61a3639 100644

toolchain/helpers.mk check_unusable_toolchain = \ · line 354

Quoted 8 lines
toolchain/helpers.mk +5 -0
@@ -347,6 +347,11 @@ check_unusable_toolchain = \
 		echo "them unsuitable as external toolchains for build systems" ; \
 		echo "such as Buildroot." ; \
 		exit 1 ; \
+	fi; \
+	with_sysroot=`$${__CROSS_CC} -v 2>&1 |sed -r -e '/.* --with-sysroot=([^[:space:]]+)[[:space:]].*/!d; s//\1/'`; \
+	if test "$${with_sysroot}"  = "/" ; then \
+		echo "Distribution toolchains are unsuitable for use by Buildroot," ; \
+		echo "as they were configured in a way that makes them non-relocatable."; \

This sounds as if the problem is that the binary can't be moved to a different
place. But for pre-installed external toolchains, we don't do that.

But I guess the real problem is that we can't copy the libs to the staging dir,
right? So perhaps that should be written in this remark.

Regards,
Arnout

Quoted 4 lines
toolchain/helpers.mk +0 -0
 	fi
 
 #
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#2 lore raw

PATCH 1/1 toolchain/external: do not accept distro-class toolchains

Dear Arnout Vandecappelle,

Quoted 5 lines · Arnout Vandecappelle

This sounds as if the problem is that the binary can't be moved to a different
place. But for pre-installed external toolchains, we don't do that.

But I guess the real problem is that we can't copy the libs to the staging dir,
right? So perhaps that should be written in this remark.

Yes the problem is more that such toolchains typically don't have a clean sysroot, with just the C library, C library headers and kernel headers.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH 1/1 toolchain/external: do not accept distro-class toolchains

Arnout, Thomas, All,

On 2015-01-27 22:16 +0100, Thomas Petazzoni spake thusly:

Quoted 11 lines · Arnout Vandecappelle
Quoted 6 lines

This sounds as if the problem is that the binary can't be moved to a different
place. But for pre-installed external toolchains, we don't do that.

But I guess the real problem is that we can't copy the libs to the staging dir,
right? So perhaps that should be written in this remark.

Yes the problem is more that such toolchains typically don't have a clean sysroot, with just the C library, C library headers and kernel headers.

Well, both.

They are tainted with a lot of cruft we are not interested in, indeed.

But since the sysroot is not a sub-directory of the --prefix, they are not relocatable either.

I'll update the error message to take your comments into account. Thanks! :-)

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'