* [PATCH] populate_sdk_base.bbclass: Allow installation of ix86 SDK on x86_64 host
@ 2013-01-22 12:18 Wolfgang Denk
2013-01-22 16:13 ` Mark Hatle
0 siblings, 1 reply; 3+ messages in thread
From: Wolfgang Denk @ 2013-01-22 12:18 UTC (permalink / raw)
To: openembedded-core
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.
Signed-off-by: Wolfgang Denk <wd@denx.de>
---
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}"
--
1.7.11.7
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] populate_sdk_base.bbclass: Allow installation of ix86 SDK on x86_64 host
2013-01-22 12:18 [PATCH] populate_sdk_base.bbclass: Allow installation of ix86 SDK on x86_64 host Wolfgang Denk
@ 2013-01-22 16:13 ` Mark Hatle
2013-01-24 9:23 ` Laurentiu Palcu
0 siblings, 1 reply; 3+ messages in thread
From: Mark Hatle @ 2013-01-22 16:13 UTC (permalink / raw)
To: openembedded-core
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 <wd@denx.de>
> ---
> 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}"
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] populate_sdk_base.bbclass: Allow installation of ix86 SDK on x86_64 host
2013-01-22 16:13 ` Mark Hatle
@ 2013-01-24 9:23 ` Laurentiu Palcu
0 siblings, 0 replies; 3+ messages in thread
From: Laurentiu Palcu @ 2013-01-24 9:23 UTC (permalink / raw)
To: Mark Hatle; +Cc: openembedded-core
On 01/22/2013 06:13 PM, Mark Hatle wrote:
> 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
>
>> >
Hi Mark,
There was a discussion on the yocto mailing list about this:
https://lists.yoctoproject.org/pipermail/yocto/2013-January/013889.html
Also, a bug filed:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=3770
It turns out that people would like to be able to install 32-bit SDKs on
64-bit machines. Provided they have the 32-bit libraries in place.
Thanks,
Laurentiu
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-01-24 9:39 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-22 12:18 [PATCH] populate_sdk_base.bbclass: Allow installation of ix86 SDK on x86_64 host Wolfgang Denk
2013-01-22 16:13 ` Mark Hatle
2013-01-24 9:23 ` Laurentiu Palcu
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.