* [Buildroot] [PATCH 1/4] toolchain-external: add dependency on BR2_HOST_ARCH
2012-12-29 16:14 [Buildroot] [pull request] Pull request for branch pre-built-packages Thomas Petazzoni
@ 2012-12-29 16:14 ` Thomas Petazzoni
2012-12-29 16:14 ` [Buildroot] [PATCH 2/4] Infrastructure to warn the user about missing 32 bits libraries Thomas Petazzoni
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2012-12-29 16:14 UTC (permalink / raw)
To: buildroot
The pre-build external toolchains are all built for x86, so they are
only available if the build machine is a x86 or x86-64 machine.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
toolchain/toolchain-external/Config.in | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index eeb40a3..c14736d 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -7,6 +7,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_12
bool "Linaro 2012.12"
depends on BR2_arm
depends on BR2_cortex_a5 || BR2_cortex_a8 || BR2_cortex_a9 || BR2_cortex_a15
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -24,6 +25,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_11
bool "Linaro 2012.11"
depends on BR2_arm
depends on BR2_cortex_a5 || BR2_cortex_a8 || BR2_cortex_a9 || BR2_cortex_a15
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -41,6 +43,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_10
bool "Linaro 2012.10"
depends on BR2_arm
depends on BR2_cortex_a5 || BR2_cortex_a8 || BR2_cortex_a9 || BR2_cortex_a15
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -61,6 +64,7 @@ comment "Linaro toolchains available for Cortex-A{5,8,9,15}"
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201203
bool "Sourcery CodeBench ARM 2012.03"
depends on BR2_arm
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -83,6 +87,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201203
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109
bool "Sourcery CodeBench ARM 2011.09"
depends on BR2_arm
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -105,6 +110,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201209
bool "Sourcery CodeBench MIPS 2012.09"
depends on BR2_mips || BR2_mipsel
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -173,6 +179,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201209
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201203
bool "Sourcery CodeBench MIPS 2012.03"
depends on BR2_mips || BR2_mipsel
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -241,6 +248,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201203
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103
bool "Sourcery CodeBench ARM 2011.03"
depends on BR2_arm
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -263,6 +271,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201109
bool "Sourcery CodeBench MIPS 2011.09"
depends on BR2_mips || BR2_mipsel
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -331,6 +340,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201109
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
bool "Sourcery CodeBench PowerPC 2011.03"
depends on BR2_powerpc
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -359,6 +369,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
bool "Sourcery CodeBench PowerPC 2010.09"
depends on BR2_powerpc
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -387,6 +398,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201209
bool "Sourcery CodeBench SH 2012.09"
depends on BR2_sh4a || BR2_sh4aeb
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -407,6 +419,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201209
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203
bool "Sourcery CodeBench SH 2012.03"
depends on BR2_sh4a || BR2_sh4aeb
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
help
@@ -426,6 +439,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
bool "Sourcery CodeBench SH 2011.03"
depends on BR2_sh4a || BR2_sh4aeb
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -446,6 +460,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103
bool "Sourcery CodeBench SH 2011.03"
depends on BR2_sh2a
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
select BR2_LARGEFILE
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
@@ -463,6 +478,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009
bool "Sourcery CodeBench SH 2010.09"
depends on BR2_sh2a
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
select BR2_LARGEFILE
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
@@ -480,6 +496,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209
bool "Sourcery CodeBench x86/x86_64 2012.09"
depends on BR2_i386 || BR2_x86_64
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -502,6 +519,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203
bool "Sourcery CodeBench x86/x86_64 2012.03"
depends on BR2_i386 || BR2_x86_64
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
help
@@ -523,6 +541,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
bool "Sourcery CodeBench x86/x86_64 2011.09"
depends on BR2_i386 || BR2_x86_64
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
@@ -545,6 +564,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1
bool "Blackfin.uclinux.org 2012R1-BETA1"
depends on BR2_bfin
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
select BR2_INSTALL_LIBSTDCPP
select BR2_LARGEFILE
@@ -560,6 +580,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1
config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1
bool "Blackfin.uclinux.org 2011R1-RC4"
depends on BR2_bfin
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
select BR2_INSTALL_LIBSTDCPP
select BR2_LARGEFILE
@@ -575,6 +596,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1
config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1
bool "Blackfin.uclinux.org 2010RC1"
depends on BR2_bfin
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
select BR2_INSTALL_LIBSTDCPP
select BR2_LARGEFILE
@@ -590,6 +612,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1
config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2
bool "Xilinx Little Endian Microblaze GNU Tools"
depends on BR2_microblazeel
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
help
@@ -599,6 +622,7 @@ config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2
config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2
bool "Xilinx Big Endian Microblaze GNU Tools"
depends on BR2_microblazebe
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
help
@@ -608,6 +632,7 @@ config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2
config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_12
bool "Linaro AArch64 12.12"
depends on BR2_aarch64
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
help
@@ -617,6 +642,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_12
config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_11
bool "Linaro AArch64 12.11"
depends on BR2_aarch64
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
help
@@ -626,6 +652,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_11
config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_10
bool "Linaro AArch64 12.10"
depends on BR2_aarch64
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
help
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread* [Buildroot] [PATCH 2/4] Infrastructure to warn the user about missing 32 bits libraries
2012-12-29 16:14 [Buildroot] [pull request] Pull request for branch pre-built-packages Thomas Petazzoni
2012-12-29 16:14 ` [Buildroot] [PATCH 1/4] toolchain-external: add dependency on BR2_HOST_ARCH Thomas Petazzoni
@ 2012-12-29 16:14 ` Thomas Petazzoni
2013-01-07 7:55 ` Arnout Vandecappelle
2012-12-29 16:14 ` [Buildroot] [PATCH 3/4] toolchain-external: use BR2_HOSTARCH_NEEDS_IA32_LIBS where needed Thomas Petazzoni
` (3 subsequent siblings)
5 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2012-12-29 16:14 UTC (permalink / raw)
To: buildroot
Many users trying to use external toolchains on x86-64 machines get a
very confusing message:
"Can't execute cross-compiler"
They get this message because they forgot to install the 32 bits
compatibility libraries that are needed to run binaries compiled for
x86 on x86-64 machines.
Since this is the case for both external toolchains and certain
binary-only tools like SAM-BA, we add a new Kconfig option
BR2_HOSTARCH_NEEDS_IA32_LIBS, that packages must select if they need
the 32 bits compatibility libraries. When this option is enabled,
dependencies.sh checks that the 32 bits dynamic library loader is
present on the system, and if not, it stops and shows an error.
The path and name of the 32 bits dynamic loader is hardcoded because
it is very unlikely to change, as it would break the ABI for all
binaries.
Also, it is worth noting that the check will be done even if we're
running on a 32 bits machine. This is harmless, as 32 bits machines
necessarily have the 32 bits dynamic loader installed, so the error
will never show up in this case.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Config.in | 6 ++++++
support/dependencies/dependencies.sh | 11 +++++++++++
2 files changed, 17 insertions(+)
diff --git a/Config.in b/Config.in
index b319ac7..af77a83 100644
--- a/Config.in
+++ b/Config.in
@@ -14,6 +14,12 @@ config BR2_HOSTARCH
string
option env="HOSTARCH"
+# Hidden boolean selected by pre-built packages for x86, when they
+# need to run on x86-64 machines (example: pre-built external
+# toolchains, binary tools like SAM-BA, etc.).
+config BR2_HOSTARCH_NEEDS_IA32_LIBS
+ bool
+
source "arch/Config.in"
menu "Build options"
diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index 7a02512..03e2742 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -166,3 +166,14 @@ if grep -q ^BR2_PACKAGE_CLASSPATH=y $CONFIG_FILE ; then
fi
done
fi
+if grep -q ^BR2_HOSTARCH_NEEDS_IA32_LIBS=y $CONFIG_FILE ; then
+ if test ! -f /lib/ld-linux.so.2 ; then
+ /bin/echo -e "\nYour Buildroot configuration uses some pre-built tools for the x86 architecture,"
+ /bin/echo -e "but your build machine uses the x86-64 architecture without the 32 bits compatibility"
+ /bin/echo -e "library."
+ /bin/echo -e "If you're running a Debian/Ubuntu distribution, install the libc:i386 package."
+ /bin/echo -e "For other distributions, refer to the documentation on how to install the 32 bits"
+ /bin/echo -e "compatibility libraries."
+ exit 1
+ fi
+fi
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread* [Buildroot] [PATCH 2/4] Infrastructure to warn the user about missing 32 bits libraries
2012-12-29 16:14 ` [Buildroot] [PATCH 2/4] Infrastructure to warn the user about missing 32 bits libraries Thomas Petazzoni
@ 2013-01-07 7:55 ` Arnout Vandecappelle
0 siblings, 0 replies; 8+ messages in thread
From: Arnout Vandecappelle @ 2013-01-07 7:55 UTC (permalink / raw)
To: buildroot
On 12/29/12 17:14, Thomas Petazzoni wrote:
> Many users trying to use external toolchains on x86-64 machines get a
> very confusing message:
>
> "Can't execute cross-compiler"
>
> They get this message because they forgot to install the 32 bits
> compatibility libraries that are needed to run binaries compiled for
> x86 on x86-64 machines.
>
> Since this is the case for both external toolchains and certain
> binary-only tools like SAM-BA, we add a new Kconfig option
> BR2_HOSTARCH_NEEDS_IA32_LIBS, that packages must select if they need
Since x86_64 is also an IA32, I would rather call it
BR2_HOSTARCH_NEEDS_I386_LIBS.
> the 32 bits compatibility libraries. When this option is enabled,
> dependencies.sh checks that the 32 bits dynamic library loader is
> present on the system, and if not, it stops and shows an error.
>
> The path and name of the 32 bits dynamic loader is hardcoded because
> it is very unlikely to change, as it would break the ABI for all
> binaries.
>
> Also, it is worth noting that the check will be done even if we're
> running on a 32 bits machine. This is harmless, as 32 bits machines
> necessarily have the 32 bits dynamic loader installed, so the error
> will never show up in this case.
Perhaps move these two comments to dependencies.sh so we don't forget
about it?
>
> Signed-off-by: Thomas Petazzoni<thomas.petazzoni@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
> Config.in | 6 ++++++
> support/dependencies/dependencies.sh | 11 +++++++++++
> 2 files changed, 17 insertions(+)
>
> diff --git a/Config.in b/Config.in
> index b319ac7..af77a83 100644
> --- a/Config.in
> +++ b/Config.in
> @@ -14,6 +14,12 @@ config BR2_HOSTARCH
> string
> option env="HOSTARCH"
>
> +# Hidden boolean selected by pre-built packages for x86, when they
> +# need to run on x86-64 machines (example: pre-built external
> +# toolchains, binary tools like SAM-BA, etc.).
> +config BR2_HOSTARCH_NEEDS_IA32_LIBS
> + bool
> +
> source "arch/Config.in"
>
> menu "Build options"
> diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
> index 7a02512..03e2742 100755
> --- a/support/dependencies/dependencies.sh
> +++ b/support/dependencies/dependencies.sh
> @@ -166,3 +166,14 @@ if grep -q ^BR2_PACKAGE_CLASSPATH=y $CONFIG_FILE ; then
> fi
> done
> fi
> +if grep -q ^BR2_HOSTARCH_NEEDS_IA32_LIBS=y $CONFIG_FILE ; then
> + if test ! -f /lib/ld-linux.so.2 ; then
> + /bin/echo -e "\nYour Buildroot configuration uses some pre-built tools for the x86 architecture,"
> + /bin/echo -e "but your build machine uses the x86-64 architecture without the 32 bits compatibility"
This line is more than 80 columns.
> + /bin/echo -e "library."
> + /bin/echo -e "If you're running a Debian/Ubuntu distribution, install the libc:i386 package."
> + /bin/echo -e "For other distributions, refer to the documentation on how to install the 32 bits"
> + /bin/echo -e "compatibility libraries."
"the documentation" sounds as if it is the buildroot documentation, so
make it "refer to your distribution's documentation"
Also this is only for relatively recent Debian/Ubuntu with full
multilib support. Before that it was called libc-i386 IIRC.
Is there anyone out there with a Redhat/Fedora who can tell us how to
install it there?
And finally, it would be good to mention this in
docs/manual/prerequisite.txt
Regards,
Arnout
> + exit 1
> + fi
> +fi
--
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 3/4] toolchain-external: use BR2_HOSTARCH_NEEDS_IA32_LIBS where needed
2012-12-29 16:14 [Buildroot] [pull request] Pull request for branch pre-built-packages Thomas Petazzoni
2012-12-29 16:14 ` [Buildroot] [PATCH 1/4] toolchain-external: add dependency on BR2_HOST_ARCH Thomas Petazzoni
2012-12-29 16:14 ` [Buildroot] [PATCH 2/4] Infrastructure to warn the user about missing 32 bits libraries Thomas Petazzoni
@ 2012-12-29 16:14 ` Thomas Petazzoni
2012-12-29 16:14 ` [Buildroot] [PATCH 4/4] sam-ba: select BR2_HOSTARCH_NEEDS_IA32_LIBS Thomas Petazzoni
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2012-12-29 16:14 UTC (permalink / raw)
To: buildroot
All supported pre-built external toolchains are built for x86 Linux,
so we add the BR2_HOSTARCH_NEEDS_IA32_LIBS select.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
toolchain/toolchain-external/Config.in | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index c14736d..bdf4334 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -11,6 +11,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_12
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Linaro toolchain for the ARM architecture. It uses Linaro
GCC 2012.12 (based on gcc 4.7), Linaro GDB 2012.12 (based on
@@ -29,6 +30,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_11
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Linaro toolchain for the ARM architecture. It uses Linaro
GCC 2012.11 (based on gcc 4.7), Linaro GDB 2012.10 (based on
@@ -47,6 +49,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2012_10
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Linaro toolchain for the ARM architecture. It uses Linaro
GCC 2012.10 (based on gcc 4.7), Linaro GDB 2012.10 (based on
@@ -68,6 +71,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201203
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the ARM architecture, from
Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53, glibc
@@ -91,6 +95,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the ARM architecture, from
Mentor Graphics. It uses gcc 4.6.1, binutils 2.21.53, glibc
@@ -114,6 +119,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201209
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the MIPS architecture, from
Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51, glibc
@@ -183,6 +189,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201203
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the MIPS architecture, from
Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53, glibc
@@ -252,6 +259,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the ARM architecture, from
Mentor Graphics. It uses gcc 4.5.2, binutils 2.20.51, glibc
@@ -275,6 +283,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201109
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the MIPS architecture, from
Mentor Graphics. It uses gcc 4.5.2, binutils 2.21.53, glibc
@@ -344,6 +353,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the PowerPC architecture,
from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20.51,
@@ -373,6 +383,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the PowerPC architecture,
from Mentor Graphics. It uses gcc 4.5.1, binutils 2.20,
@@ -402,6 +413,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201209
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the SuperH architecture,
from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
@@ -422,6 +434,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the SuperH architecture,
from Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53,
@@ -443,6 +456,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the SuperH architecture,
from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20,
@@ -468,6 +482,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103
select BR2_TOOLCHAIN_HAS_THREADS
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the SuperH architecture,
from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20,
@@ -486,6 +501,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009
select BR2_TOOLCHAIN_HAS_THREADS
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the SuperH architecture,
from Mentor Graphics. It uses gcc 4.5.1, binutils 2.20,
@@ -500,6 +516,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the x86/x86_64
architectures, from Mentor Graphics. It uses gcc 4.7.2,
@@ -522,6 +539,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the x86/x86_64
architectures, from Mentor Graphics. It uses gcc 4.6.3,
@@ -545,6 +563,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Sourcery CodeBench toolchain for the x86/x86_64
architectures, from Mentor Graphics. It uses gcc 4.6.1,
@@ -573,6 +592,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1
select BR2_USE_WCHAR
select BR2_TOOLCHAIN_HAS_THREADS
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Toolchain for the Blackfin architecture, from
http://blackfin.uclinux.org.
@@ -589,6 +609,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1
select BR2_USE_WCHAR
select BR2_TOOLCHAIN_HAS_THREADS
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Toolchain for the Blackfin architecture, from
http://blackfin.uclinux.org.
@@ -605,6 +626,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2010RC1
select BR2_USE_WCHAR
select BR2_TOOLCHAIN_HAS_THREADS
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Toolchain for the Blackfin architecture, from
http://blackfin.uclinux.org.
@@ -615,6 +637,7 @@ config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Toolchain for the Microblaze architecture, from
http://wiki.xilinx.com/mb-gnu-tools
@@ -625,6 +648,7 @@ config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Toolchain for the Microblaze architecture, from
http://wiki.xilinx.com/mb-gnu-tools
@@ -635,6 +659,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_12
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Toolchain for the AArch64 architecture, from
http://www.linaro.org/engineering/armv8/
@@ -645,6 +670,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_11
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Toolchain for the AArch64 architecture, from
http://www.linaro.org/engineering/armv8/
@@ -655,6 +681,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_10
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Toolchain for the AArch64 architecture, from
http://www.linaro.org/engineering/armv8/
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread* [Buildroot] [PATCH 4/4] sam-ba: select BR2_HOSTARCH_NEEDS_IA32_LIBS
2012-12-29 16:14 [Buildroot] [pull request] Pull request for branch pre-built-packages Thomas Petazzoni
` (2 preceding siblings ...)
2012-12-29 16:14 ` [Buildroot] [PATCH 3/4] toolchain-external: use BR2_HOSTARCH_NEEDS_IA32_LIBS where needed Thomas Petazzoni
@ 2012-12-29 16:14 ` Thomas Petazzoni
2013-01-06 15:43 ` [Buildroot] [pull request] Pull request for branch pre-built-packages Thomas Petazzoni
2013-01-06 20:43 ` Peter Korsgaard
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2012-12-29 16:14 UTC (permalink / raw)
To: buildroot
sam-ba is a pre-built binary tool built for x86 Linux, so on x86-64,
it requires the 32 bits compatibility libraries to be installed.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/sam-ba/Config.in.host | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/sam-ba/Config.in.host b/package/sam-ba/Config.in.host
index 20b2b36..6093865 100644
--- a/package/sam-ba/Config.in.host
+++ b/package/sam-ba/Config.in.host
@@ -1,6 +1,7 @@
config BR2_PACKAGE_HOST_SAM_BA
bool "host sam-ba"
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
help
Atmel SAM-BA software provides an open set of tools for
programming the Atmel SAM3, SAM7 and SAM9 ARM-based
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread* [Buildroot] [pull request] Pull request for branch pre-built-packages
2012-12-29 16:14 [Buildroot] [pull request] Pull request for branch pre-built-packages Thomas Petazzoni
` (3 preceding siblings ...)
2012-12-29 16:14 ` [Buildroot] [PATCH 4/4] sam-ba: select BR2_HOSTARCH_NEEDS_IA32_LIBS Thomas Petazzoni
@ 2013-01-06 15:43 ` Thomas Petazzoni
2013-01-06 20:43 ` Peter Korsgaard
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2013-01-06 15:43 UTC (permalink / raw)
To: buildroot
On Sat, 29 Dec 2012 17:14:47 +0100, Thomas Petazzoni wrote:
> Recently, we have had a number of users having issues with external
> toolchains because those are built for 32 bits Linux, and most
> developers know use 64 bits build machines. The error message such
> users get so far is very cryptic "Cannot execute cross-compiler".
>
> So, this set of patches adds a small infrastructure in the form of a
> Kconfig option and a check in dependencies.sh. The Kconfig option
> allows packages to tell whether they need 32 bits compatibility
> libraries, and the check in dependencies.sh verifies that those
> libraries are installed (simply by checking the presence of the 32
> bits dynamic loader).
>
> Then, all pre-built external toolchains as well as the sam-ba tool are
> modified to use this mechanism.
>
> As a preliminary patch, all the pre-built external toolchains are
> changed to be visible only if the host architecture is x86 or x86-64.
Ping? Any problem with this?
Thanks,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread* [Buildroot] [pull request] Pull request for branch pre-built-packages
2012-12-29 16:14 [Buildroot] [pull request] Pull request for branch pre-built-packages Thomas Petazzoni
` (4 preceding siblings ...)
2013-01-06 15:43 ` [Buildroot] [pull request] Pull request for branch pre-built-packages Thomas Petazzoni
@ 2013-01-06 20:43 ` Peter Korsgaard
5 siblings, 0 replies; 8+ messages in thread
From: Peter Korsgaard @ 2013-01-06 20:43 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Thomas> Hello,
Thomas> Recently, we have had a number of users having issues with external
Thomas> toolchains because those are built for 32 bits Linux, and most
Thomas> developers know use 64 bits build machines. The error message such
Thomas> users get so far is very cryptic "Cannot execute cross-compiler".
Thomas> So, this set of patches adds a small infrastructure in the form of a
Thomas> Kconfig option and a check in dependencies.sh. The Kconfig option
Thomas> allows packages to tell whether they need 32 bits compatibility
Thomas> libraries, and the check in dependencies.sh verifies that those
Thomas> libraries are installed (simply by checking the presence of the 32
Thomas> bits dynamic loader).
Thomas> Then, all pre-built external toolchains as well as the sam-ba tool are
Thomas> modified to use this mechanism.
Thomas> As a preliminary patch, all the pre-built external toolchains are
Thomas> changed to be visible only if the host architecture is x86 or x86-64.
The microblaze ext toolchains are 64bit, so I've fixed that up and
committed the series, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 8+ messages in thread