summaryrefslogtreecommitdiffstats
path: root/Config.in
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2012-12-29 06:14:49 +0000
committerPeter Korsgaard <jacmet@sunsite.dk>2013-01-06 21:35:47 +0100
commit70d6037e8a47f7a199345f60790bd5d1618e8207 (patch)
tree3a22158d6a7ae51bccc3652fee0e178b547ee311 /Config.in
parent4eff1f206416a2ade7f5d88375cfd271a4c425c5 (diff)
downloadbuildroot-novena-70d6037e8a47f7a199345f60790bd5d1618e8207.tar.gz
buildroot-novena-70d6037e8a47f7a199345f60790bd5d1618e8207.zip
Infrastructure to warn the user about missing 32 bits libraries
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> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'Config.in')
-rw-r--r--Config.in6
1 files changed, 6 insertions, 0 deletions
diff --git a/Config.in b/Config.in
index b319ac78c..af77a83cb 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"