Patchwork meta-toolchain-qte and wrong paths to QT tools

login
register
mail settings
Submitter lumag
Date Dec. 21, 2011, 6:22 p.m.
Message ID <jct88c$ajb$1@dough.gmane.org>
Download mbox | patch
Permalink /patch/17381/
State New
Headers show

Comments

lumag - Dec. 21, 2011, 6:22 p.m.
On 12/21/2011 06:56 PM, Juraj Hercek wrote:
> Hello list,
>
> I've two questions:
>
> 1) When I build meta-toolchain-qte (c2de8d4 metadata revision) and
> install the resulting sdk, I see two directories in /usr/local/:
> oecore-i686-arm and oecore-i686-i686. What is a rationale behind having
> these two directories instead of one i.e.: oecore-i686-arm?

Because oecore-i686-i686 holds files that are created on i686 to be used 
on i686. They will be common for arm meta-toolchain-qte, mips 
meta-toolchain-qte, powerpc meta-toolchain-qte, etc.

> 2) The oecore-i686-arm/environment-setup-armv5te-oe-linux-gnueabi script
> sets paths to the QT tools which should be installed in oecore-i686-arm
> directory, but they are not. These tools are installed under
> oecore-i686-i686 directory. Changing the path in
> environment-setup-armv5te-oe-linux-gnueabi after toolchain installation
> is easy, but I do not consider it to be a correct fix (assuming that
> oecore-i686-{arm,i686} directories represents proper toolchain
> structure). What is a proper fix for this issue?

I have the attached patch in my patch queue. Hope this helps.
Eric BENARD - Dec. 21, 2011, 11:35 p.m.
Hi Dmitry,

Le 21/12/2011 19:22, Dmitry Eremin-Solenikov a écrit :
> On 12/21/2011 06:56 PM, Juraj Hercek wrote:
>> Hello list,
>>
>> I've two questions:
>>
>> 1) When I build meta-toolchain-qte (c2de8d4 metadata revision) and
>> install the resulting sdk, I see two directories in /usr/local/:
>> oecore-i686-arm and oecore-i686-i686. What is a rationale behind having
>> these two directories instead of one i.e.: oecore-i686-arm?
>
> Because oecore-i686-i686 holds files that are created on i686 to be used on
> i686. They will be common for arm meta-toolchain-qte, mips meta-toolchain-qte,
> powerpc meta-toolchain-qte, etc.
>
>> 2) The oecore-i686-arm/environment-setup-armv5te-oe-linux-gnueabi script
>> sets paths to the QT tools which should be installed in oecore-i686-arm
>> directory, but they are not. These tools are installed under
>> oecore-i686-i686 directory. Changing the path in
>> environment-setup-armv5te-oe-linux-gnueabi after toolchain installation
>> is easy, but I do not consider it to be a correct fix (assuming that
>> oecore-i686-{arm,i686} directories represents proper toolchain
>> structure). What is a proper fix for this issue?
>
> I have the attached patch in my patch queue. Hope this helps.
>
there seems to be something wrong here :

-    (cd ${SDK_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s 
${SDKTARGETSYSROOT}/usr/share/qtopia/mkspecs mkspecs;)
+    (cd ${SDK_NATIVE_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s 
${SDKTARGETSYSROOT}/usr/share/qtopia/mkspecs mkspecs;)


${SDK_NATIVE_OUTPUT} seems undefined.

Eric
lumag - Dec. 22, 2011, 1:48 p.m.
On 12/22/2011 03:35 AM, Eric Bénard wrote:
> Hi Dmitry,
>
> Le 21/12/2011 19:22, Dmitry Eremin-Solenikov a écrit :
>> On 12/21/2011 06:56 PM, Juraj Hercek wrote:
>>> Hello list,
>>>
>>> I've two questions:
>>>
>>> 1) When I build meta-toolchain-qte (c2de8d4 metadata revision) and
>>> install the resulting sdk, I see two directories in /usr/local/:
>>> oecore-i686-arm and oecore-i686-i686. What is a rationale behind having
>>> these two directories instead of one i.e.: oecore-i686-arm?
>>
>> Because oecore-i686-i686 holds files that are created on i686 to be
>> used on
>> i686. They will be common for arm meta-toolchain-qte, mips
>> meta-toolchain-qte,
>> powerpc meta-toolchain-qte, etc.
>>
>>> 2) The oecore-i686-arm/environment-setup-armv5te-oe-linux-gnueabi script
>>> sets paths to the QT tools which should be installed in oecore-i686-arm
>>> directory, but they are not. These tools are installed under
>>> oecore-i686-i686 directory. Changing the path in
>>> environment-setup-armv5te-oe-linux-gnueabi after toolchain installation
>>> is easy, but I do not consider it to be a correct fix (assuming that
>>> oecore-i686-{arm,i686} directories represents proper toolchain
>>> structure). What is a proper fix for this issue?
>>
>> I have the attached patch in my patch queue. Hope this helps.
>>
> there seems to be something wrong here :
>
> - (cd ${SDK_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s
> ${SDKTARGETSYSROOT}/usr/share/qtopia/mkspecs mkspecs;)
> + (cd ${SDK_NATIVE_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s
> ${SDKTARGETSYSROOT}/usr/share/qtopia/mkspecs mkspecs;)
>
>
> ${SDK_NATIVE_OUTPUT} seems undefined.

My fault. I think you can ignore this part of the patch.

>
> Eric
Juraj Hercek - Dec. 22, 2011, 1:57 p.m.
On 12/21/2011 07:22 PM, Dmitry Eremin-Solenikov wrote:
> On 12/21/2011 06:56 PM, Juraj Hercek wrote:
>> Hello list,
>>
>> I've two questions:
>>
>> 1) When I build meta-toolchain-qte (c2de8d4 metadata revision) and
>> install the resulting sdk, I see two directories in /usr/local/:
>> oecore-i686-arm and oecore-i686-i686. What is a rationale behind having
>> these two directories instead of one i.e.: oecore-i686-arm?
> 
> Because oecore-i686-i686 holds files that are created on i686 to be used 
> on i686. They will be common for arm meta-toolchain-qte, mips 
> meta-toolchain-qte, powerpc meta-toolchain-qte, etc.

This makes perfect sense. Thank you.

>> 2) The oecore-i686-arm/environment-setup-armv5te-oe-linux-gnueabi script
>> sets paths to the QT tools which should be installed in oecore-i686-arm
>> directory, but they are not. These tools are installed under
>> oecore-i686-i686 directory. Changing the path in
>> environment-setup-armv5te-oe-linux-gnueabi after toolchain installation
>> is easy, but I do not consider it to be a correct fix (assuming that
>> oecore-i686-{arm,i686} directories represents proper toolchain
>> structure). What is a proper fix for this issue?
> 
> I have the attached patch in my patch queue. Hope this helps.

---8<---
-    (cd ${SDK_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s 
${SDKTARGETSYSROOT}/usr/share/qtopia/mkspecs mkspecs;)
+    (cd ${SDK_NATIVE_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s 
${SDKTARGETSYSROOT}/usr/share/qtopia/mkspecs mkspecs;)
  }
--->8---

I've applied patch but as Eric pointed out earlier, SDK_NATIVE_OUTPUT 
(from the snip above) is not defined anywhere (I've searched the string 
throughout whole oe-core).

Anyways, this snip of code deals with mkspecs, and I am not sure if 
mkspecs should be installed in "i686-arm". My gut feeling would expect 
mkspecs to be in "i686-i686" along with the other QT tools which are 
already in "i686-i686" part.

Patch

From 80adbc460fa3abd595f1e4c37e402fb2ba51cba4 Mon Sep 17 00:00:00 2001
From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Date: Sun, 18 Dec 2011 22:27:49 +0400
Subject: [PATCH] SDK generation: fixup paths

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
---
 meta/conf/bitbake.conf                     |    3 ++-
 meta/recipes-qt/meta/meta-toolchain-qte.bb |    2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 1c21616..9af6faa 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -359,8 +359,9 @@  DEPLOY_DIR_TOOLS = "${DEPLOY_DIR}/tools"
 PKGDATA_DIR = "${TMPDIR}/pkgdata/${MULTIMACH_TARGET_SYS}"
 
 SDK_NAME = "oecore-${SDK_ARCH}-${TARGET_ARCH}"
+SDK_NATIVE_NAME = "oecore-${SDK_ARCH}-${BUILD_ARCH}"
 SDKPATH = "/usr/local/${SDK_NAME}"
-SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
+SDKPATHNATIVE = "/usr/local/${SDK_NATIVE_NAME}/sysroots/${SDK_SYS}"
 
 ##################################################################
 # Kernel info.
diff --git a/meta/recipes-qt/meta/meta-toolchain-qte.bb b/meta/recipes-qt/meta/meta-toolchain-qte.bb
index 735ccd1..a0d13bd 100644
--- a/meta/recipes-qt/meta/meta-toolchain-qte.bb
+++ b/meta/recipes-qt/meta/meta-toolchain-qte.bb
@@ -30,5 +30,5 @@  toolchain_create_sdk_env_script_append() {
 
     # make a symbolic link to mkspecs for compatibility with Nokia's SDK
     # and QTCreator
-    (cd ${SDK_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s ${SDKTARGETSYSROOT}/usr/share/qtopia/mkspecs mkspecs;)
+    (cd ${SDK_NATIVE_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s ${SDKTARGETSYSROOT}/usr/share/qtopia/mkspecs mkspecs;)
 }
-- 
1.7.7.3