Patchwork cross-canadian: Fix SHLIBSDIR when using multilib

login
register
mail settings
Submitter Richard Purdie
Date Oct. 15, 2013, 1:40 p.m.
Message ID <1381844435.29912.422.camel@ted>
Download mbox | patch
Permalink /patch/59927/
State Accepted
Commit 0633b93086a7de7226f4dc6ca403ee116bc58669
Headers show

Comments

Richard Purdie - Oct. 15, 2013, 1:40 p.m.
Both nativesdk and multilib use MLPREFIX for their partciular purposes. When
we have both set, cross-canadian can confuse SHLIBSDIR. This forces the
variable to the correct value for cross-canadian, fixing toolchains in
multilib builds.

[YOCTO #5333]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
Khem Raj - Oct. 15, 2013, 2:45 p.m.
On Tue, Oct 15, 2013 at 6:40 AM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> Both nativesdk and multilib use MLPREFIX for their partciular purposes. When
> we have both set, cross-canadian can confuse SHLIBSDIR. This forces the
> variable to the correct value for cross-canadian, fixing toolchains in
> multilib builds.
>
> [YOCTO #5333]
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
> diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
> index 4387d05..7181c60 100644
> --- a/meta/classes/cross-canadian.bbclass
> +++ b/meta/classes/cross-canadian.bbclass
> @@ -95,3 +95,8 @@ USE_NLS = "${SDKUSE_NLS}"
>  # We have to us TARGET_ARCH but we care about the absolute value
>  # and not any particular tune that is enabled.
>  TARGET_ARCH[vardepsexclude] = "TUNE_ARCH"
> +
> +# If MLPREFIX is set by multilib code, shlibs
> +# points to the wrong place so force it
> +SHLIBSDIRS = "${PKGDATA_DIR}/nativesdk-shlibs"
> +SHLIBSWORKDIR = "${PKGDATA_DIR}/nativesdk-shlibs"

in the patch that did not work for me
I was using ${SDKPKGSUFFIX} instead of hardcoding 'nativesdk'
and += instead of =

>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Richard Purdie - Oct. 15, 2013, 2:51 p.m.
On Tue, 2013-10-15 at 07:45 -0700, Khem Raj wrote:
> On Tue, Oct 15, 2013 at 6:40 AM, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > Both nativesdk and multilib use MLPREFIX for their partciular purposes. When
> > we have both set, cross-canadian can confuse SHLIBSDIR. This forces the
> > variable to the correct value for cross-canadian, fixing toolchains in
> > multilib builds.
> >
> > [YOCTO #5333]
> >
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > ---
> > diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
> > index 4387d05..7181c60 100644
> > --- a/meta/classes/cross-canadian.bbclass
> > +++ b/meta/classes/cross-canadian.bbclass
> > @@ -95,3 +95,8 @@ USE_NLS = "${SDKUSE_NLS}"
> >  # We have to us TARGET_ARCH but we care about the absolute value
> >  # and not any particular tune that is enabled.
> >  TARGET_ARCH[vardepsexclude] = "TUNE_ARCH"
> > +
> > +# If MLPREFIX is set by multilib code, shlibs
> > +# points to the wrong place so force it
> > +SHLIBSDIRS = "${PKGDATA_DIR}/nativesdk-shlibs"
> > +SHLIBSWORKDIR = "${PKGDATA_DIR}/nativesdk-shlibs"
> 
> in the patch that did not work for me
> I was using ${SDKPKGSUFFIX} instead of hardcoding 'nativesdk'
> and += instead of =

Well, one of the fields only takes a single value and there is only one
correct value here so = is more correct. I also needed my preceding
patch but I tested this and it did work afterwards...

You could try this (and the other patch) and see if it helps?

Cheers,

Richard
Khem Raj - Oct. 15, 2013, 3:08 p.m.
On Tue, Oct 15, 2013 at 7:51 AM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> On Tue, 2013-10-15 at 07:45 -0700, Khem Raj wrote:
>> On Tue, Oct 15, 2013 at 6:40 AM, Richard Purdie
>> <richard.purdie@linuxfoundation.org> wrote:
>> > Both nativesdk and multilib use MLPREFIX for their partciular purposes. When
>> > we have both set, cross-canadian can confuse SHLIBSDIR. This forces the
>> > variable to the correct value for cross-canadian, fixing toolchains in
>> > multilib builds.
>> >
>> > [YOCTO #5333]
>> >
>> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>> > ---
>> > diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
>> > index 4387d05..7181c60 100644
>> > --- a/meta/classes/cross-canadian.bbclass
>> > +++ b/meta/classes/cross-canadian.bbclass
>> > @@ -95,3 +95,8 @@ USE_NLS = "${SDKUSE_NLS}"
>> >  # We have to us TARGET_ARCH but we care about the absolute value
>> >  # and not any particular tune that is enabled.
>> >  TARGET_ARCH[vardepsexclude] = "TUNE_ARCH"
>> > +
>> > +# If MLPREFIX is set by multilib code, shlibs
>> > +# points to the wrong place so force it
>> > +SHLIBSDIRS = "${PKGDATA_DIR}/nativesdk-shlibs"
>> > +SHLIBSWORKDIR = "${PKGDATA_DIR}/nativesdk-shlibs"
>>
>> in the patch that did not work for me
>> I was using ${SDKPKGSUFFIX} instead of hardcoding 'nativesdk'
>> and += instead of =
>
> Well, one of the fields only takes a single value and there is only one
> correct value here so = is more correct. I also needed my preceding
> patch but I tested this and it did work afterwards...

I see. how about using SDKPKGSUFFIX

>
> You could try this (and the other patch) and see if it helps?

I was trying them meanwhile now the build finished so they are working.

>
> Cheers,
>
> Richard
>

Patch

diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
index 4387d05..7181c60 100644
--- a/meta/classes/cross-canadian.bbclass
+++ b/meta/classes/cross-canadian.bbclass
@@ -95,3 +95,8 @@  USE_NLS = "${SDKUSE_NLS}"
 # We have to us TARGET_ARCH but we care about the absolute value
 # and not any particular tune that is enabled.
 TARGET_ARCH[vardepsexclude] = "TUNE_ARCH"
+
+# If MLPREFIX is set by multilib code, shlibs
+# points to the wrong place so force it
+SHLIBSDIRS = "${PKGDATA_DIR}/nativesdk-shlibs"
+SHLIBSWORKDIR = "${PKGDATA_DIR}/nativesdk-shlibs"