On 1/22/13 6:18 AM, Wolfgang Denk wrote:
Commit c04f5435 "populate_sdk_base.bbclass: use SDK_ARCH instead of SDKMACHINE" prevents not only the installation of 64 bit SDK configurations on 32 bit hosts (which indeed cannot work), but also the legitimate installation of a 32 bit SDK on a 64 bit host.Fix this. While there, also make sure we use the same patterns ("i[3-6]86" resp. "x86[-_]64" to get unified strings for both INST_ARCH and SDK_ARCH.
As far as I am aware, this is intentional. For various SDK items pseudo/libpseudo may be used. On a 32-bit SDK, only a 32-bit pseudo/libpseudo is available. This will prevent it from working with any host system binaries that are x86_64.
If you don't care, the "workaround" is to use setarch and install it by telling the system you are an ix86 target.
--Mark
Signed-off-by: Wolfgang Denk <[email protected]> --- meta/classes/populate_sdk_base.bbclass | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass index da846b4..c587af8 100644 --- a/meta/classes/populate_sdk_base.bbclass +++ b/meta/classes/populate_sdk_base.bbclass @@ -122,11 +122,14 @@ fakeroot create_shar() { #!/bin/bash INST_ARCH=$(uname -m | sed -e "s/i[3-6]86/ix86/" -e "s/x86[-_]64/x86_64/") -SDK_ARCH=$(echo ${SDK_ARCH} | sed -e "s/i[5-6]86/ix86/") +SDK_ARCH=$(echo ${SDK_ARCH} | sed -e "s/i[3-6]86/ix86/" -e "s/x86[-_]64/x86_64/") if [ "$INST_ARCH" != "$SDK_ARCH" ]; then - echo "Error: Installation machine not supported!" - exit 1 + # Allow for installation of ix86 SDK on x86_64 host + if [ "$INST_ARCH" != x86_64 -o "$SDK_ARCH" != ix86 ]; then + echo "Error: Installation machine not supported!" + exit 1 + fi fi DEFAULT_INSTALL_DIR="${SDKPATH}"
_______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
