Skip to contentSkip to conversation

cross-canadian: Fix SHLIBSDIR when using multilib

PATCH In review Richard Purdie 2 participants 4 messages Oct 15, 2013

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 cross-canadian: Fix SHLIBSDIR when using multilib

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]

---

meta/classes/cross-canadian.bbclass +5 -0
index 4387d05..7181c60 100644
@@ -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"
#1 lore raw
Quoted 14 lines · Richard Purdie

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]

---

meta/classes/cross-canadian.bbclass +0 -0
index 4387d05..7181c60 100644

meta/classes/cross-canadian.bbclass USE_NLS = "${SDKUSE_NLS}" · line 102

Quoted 8 lines
meta/classes/cross-canadian.bbclass +5 -0
@@ -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 =

Quoted 6 lines

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#2 lore raw
Quoted 20 lines · Khem Raj
Quoted 18 lines · Richard Purdie

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]

---

meta/classes/cross-canadian.bbclass +1 -0
index 4387d05..7181c60 100644
@@ -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"
+
Quoted 8 lines

meta/classes/cross-canadian.bbclass USE_NLS = "${SDKUSE_NLS}" · line 102

Quoted 4 lines
meta/classes/cross-canadian.bbclass +4 -0
+# 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

#3 lore raw
Quoted 30 lines · Richard Purdie
Quoted 20 lines · Khem Raj
Quoted 18 lines · Richard Purdie

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]

---

meta/classes/cross-canadian.bbclass +1 -0
index 4387d05..7181c60 100644
@@ -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"
+
Quoted 8 lines

meta/classes/cross-canadian.bbclass USE_NLS = "${SDKUSE_NLS}" · line 102

Quoted 4 lines
meta/classes/cross-canadian.bbclass +4 -0
+# 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 =

Quoted 3 lines

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

Quoted 2 lines

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.

Quoted 5 lines

Cheers,

Richard