Skip to contentSkip to conversation

qt3: Solve the failure to compile qt3 on platform arm

PATCH In review Xiaofeng Yan 2 participants 4 messages Aug 9, 2011 – Aug 12, 2011

lore
Share & tools
lore
#0 lore raw

cover qt3: Solve the failure to compile qt3 on platform arm

From: Xiaofeng Yan <[email protected]>

Hi Saul,

The variable "TARGET_OS" has different value when building qt-x11-free-native and qt-x11-free. The different cause failure to compile qt3.

$ bitbake qt-x11-free-native -e | grep ^TARGET_OS 
TARGET_OS="linux" 
$ bitbake qt-x11-free -e | grep ^TARGET_OS 
TARGET_OS="linux-gnueabi" 

Use "TARGETOS = linux${LIBCEXTENSION}${ABIEXTENSION}" in place of TARGET_OS for solving this bug.

Pull URL: git://git.pokylinux.org/meta-qt3.git
Branch: xiaofeng/meta-qt3
Browse: http://git.yoctoproject.org/cgit/cgit.cgi/meta-qt3/commit/?h=xiaofeng/meta-qt3

Thanks,
Xiaofeng Yan <[email protected]>
---

Xiaofeng Yan (1):
qt3: Solve the failure to compile qt3 on platform arm

 recipes-qt3/qt3/qt-x11-free-native_3.3.5.bb |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
#1 lore raw

PATCH 1/1 qt3: Solve the failure to compile qt3 on platform arm

From: Xiaofeng Yan <[email protected]>

[YOCTO #1348]
The variable "TARGET_OS" has different value when building qt-x11-free-native and \
qt-x11-free.
The different cause failure to compile qt3.

$ bitbake qt-x11-free-native -e | grep ^TARGET_OS
TARGET_OS="linux"
$ bitbake qt-x11-free -e | grep ^TARGET_OS
TARGET_OS="linux-gnueabi"

Use "TARGETOS = linux${LIBCEXTENSION}${ABIEXTENSION}" in place of TARGET_OS \
for solving this bug.

---
 recipes-qt3/qt3/qt-x11-free-native_3.3.5.bb |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
recipes-qt3/qt3/qt-x11-free-native_3.3.5.bb +4 -3
index e64256f..fe04a4a 100644
@@ -4,10 +4,11 @@ PRIORITY = "optional"
 LICENSE = "GPL | QPL"
 DEPENDS = "xmu-native"
 HOMEPAGE = "http://www.trolltech.com"
-PR = "r0"
+PR = "r1"
 
 PROVIDES += "qt-x11-free-native"
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qt-x11-free"
+TARGETOS = linux${LIBCEXTENSION}${ABIEXTENSION}
 
 LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=629178675a7d49c9fa19dfe9f43ea256 \
                     file://LICENSE.QPL;md5=fff372435cb41647bc0b3cb940ea5c51"
@@ -26,7 +27,7 @@ export QTDIR = "${S}"
 export SYSCONF_CXX = "${CCACHE} g++"
 export SYSCONF_CC  = "${CCACHE} gcc"
 export SYSCONF_LINK  = "${CCACHE} g++"
-THIS_QMAKESPEC = "${STAGING_DATADIR}/qmake/${TARGET_OS}-oe-g++"
+THIS_QMAKESPEC = "${STAGING_DATADIR}/qmake/${TARGETOS}-oe-g++"
 export QMAKESPEC = ""
 ARCH_i686 = "x86"
 
@@ -57,7 +58,7 @@ do_install() {
  
     install -d ${D}${datadir}/qt3/
     cp -PfR mkspecs ${D}${datadir}/qt3/
-    ln -sf linux-g++ ${D}${datadir}/qt3/mkspecs/${TARGET_OS}-oe-g++
+    ln -sf linux-g++ ${D}${datadir}/qt3/mkspecs/${TARGETOS}-oe-g++
     ln -s ${D}${datadir}/qt3/mkspecs/ ${D}${datadir}/qmake
     install -d ${D}${libdir}/
     oe_soinstall lib/libqt-mt.so.${PV} ${D}${libdir}/
Signature · 1 line
1.7.0.4
#2 lore raw
Quoted 6 lines · Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

[YOCTO #1348]
The variable "TARGET_OS" has different value when building qt-x11-free-native and \
qt-x11-free.
The different cause failure to compile qt3.

Quoted 7 lines
$ bitbake qt-x11-free-native -e | grep ^TARGET_OS
TARGET_OS="linux"
$ bitbake qt-x11-free -e | grep ^TARGET_OS
TARGET_OS="linux-gnueabi"

Use "TARGETOS = linux${LIBCEXTENSION}${ABIEXTENSION}" in place of TARGET_OS \
for solving this bug.

This doesn't look right.

-native packages shouldn't have *any* target system dependencies, they should build once and be suitable for all targets.

This sounds like we're encoding target specific information into native recipes which we can't do.

It sounds like we need to look for linux-oe-g++ even in the qemuarm case so its the target recipe which needs fixing to always use "linux" instead of "linux-gnueabi" in the arm case.

Cheers,

Richard

Quoted 41 lines
---
 recipes-qt3/qt3/qt-x11-free-native_3.3.5.bb |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
recipes-qt3/qt3/qt-x11-free-native_3.3.5.bb +4 -3
index e64256f..fe04a4a 100644
@@ -4,10 +4,11 @@ PRIORITY = "optional"
 LICENSE = "GPL | QPL"
 DEPENDS = "xmu-native"
 HOMEPAGE = "http://www.trolltech.com"
-PR = "r0"
+PR = "r1"
 
 PROVIDES += "qt-x11-free-native"
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qt-x11-free"
+TARGETOS = linux${LIBCEXTENSION}${ABIEXTENSION}
 
 LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=629178675a7d49c9fa19dfe9f43ea256 \
                     file://LICENSE.QPL;md5=fff372435cb41647bc0b3cb940ea5c51"
@@ -26,7 +27,7 @@ export QTDIR = "${S}"
 export SYSCONF_CXX = "${CCACHE} g++"
 export SYSCONF_CC  = "${CCACHE} gcc"
 export SYSCONF_LINK  = "${CCACHE} g++"
-THIS_QMAKESPEC = "${STAGING_DATADIR}/qmake/${TARGET_OS}-oe-g++"
+THIS_QMAKESPEC = "${STAGING_DATADIR}/qmake/${TARGETOS}-oe-g++"
 export QMAKESPEC = ""
 ARCH_i686 = "x86"
 
@@ -57,7 +58,7 @@ do_install() {
 
     install -d ${D}${datadir}/qt3/
     cp -PfR mkspecs ${D}${datadir}/qt3/
-    ln -sf linux-g++ ${D}${datadir}/qt3/mkspecs/${TARGET_OS}-oe-g++
+    ln -sf linux-g++ ${D}${datadir}/qt3/mkspecs/${TARGETOS}-oe-g++
     ln -s ${D}${datadir}/qt3/mkspecs/ ${D}${datadir}/qmake
     install -d ${D}${libdir}/
     oe_soinstall lib/libqt-mt.so.${PV} ${D}${libdir}/
#3 lore raw
Quoted 22 lines · Richard Purdie
Quoted 6 lines · Xiaofeng Yan

From: Xiaofeng Yan<[email protected]>

[YOCTO #1348]
The variable "TARGET_OS" has different value when building qt-x11-free-native and \
qt-x11-free.
The different cause failure to compile qt3.

Quoted 7 lines
$ bitbake qt-x11-free-native -e | grep ^TARGET_OS
TARGET_OS="linux"
$ bitbake qt-x11-free -e | grep ^TARGET_OS
TARGET_OS="linux-gnueabi"

Use "TARGETOS = linux${LIBCEXTENSION}${ABIEXTENSION}" in place of TARGET_OS \
for solving this bug.

This doesn't look right.

-native packages shouldn't have *any* target system dependencies, they should build once and be suitable for all targets.

This sounds like we're encoding target specific information into native recipes which we can't do.

Quoted 8 lines

It sounds like we need to look for linux-oe-g++ even in the qemuarm case so its the target recipe which needs fixing to always use "linux" instead of "linux-gnueabi" in the arm case.

Cheers,

Richard

I have understood what you mean and will modify my fault. thanks very much.

Cheers,

Yan

Quoted 47 lines
Quoted 32 lines
---
  recipes-qt3/qt3/qt-x11-free-native_3.3.5.bb |    7 ++++---
  1 files changed, 4 insertions(+), 3 deletions(-)
recipes-qt3/qt3/qt-x11-free-native_3.3.5.bb +3 -2
index e64256f..fe04a4a 100644
@@ -4,10 +4,11 @@ PRIORITY = "optional"
  LICENSE = "GPL | QPL"
  DEPENDS = "xmu-native"
  HOMEPAGE = "http://www.trolltech.com"
-PR = "r0"
+PR = "r1"
 
  PROVIDES += "qt-x11-free-native"
  FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qt-x11-free"
+TARGETOS = linux${LIBCEXTENSION}${ABIEXTENSION}
 
  LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=629178675a7d49c9fa19dfe9f43ea256 \
                      file://LICENSE.QPL;md5=fff372435cb41647bc0b3cb940ea5c51"
@@ -26,7 +27,7 @@ export QTDIR = "${S}"
  export SYSCONF_CXX = "${CCACHE} g++"
  export SYSCONF_CC  = "${CCACHE} gcc"
  export SYSCONF_LINK  = "${CCACHE} g++"
-THIS_QMAKESPEC = "${STAGING_DATADIR}/qmake/${TARGET_OS}-oe-g++"
+THIS_QMAKESPEC = "${STAGING_DATADIR}/qmake/${TARGETOS}-oe-g++"
  export QMAKESPEC = ""
  ARCH_i686 = "x86"
 

recipes-qt3/qt3/qt-x11-free-native_3.3.5.bb do_install() { · line 64

Quoted 8 lines
recipes-qt3/qt3/qt-x11-free-native_3.3.5.bb +1 -1
@@ -57,7 +58,7 @@ do_install() {
 
      install -d ${D}${datadir}/qt3/
      cp -PfR mkspecs ${D}${datadir}/qt3/
-    ln -sf linux-g++ ${D}${datadir}/qt3/mkspecs/${TARGET_OS}-oe-g++
+    ln -sf linux-g++ ${D}${datadir}/qt3/mkspecs/${TARGETOS}-oe-g++
      ln -s ${D}${datadir}/qt3/mkspecs/ ${D}${datadir}/qmake
      install -d ${D}${libdir}/
      oe_soinstall lib/libqt-mt.so.${PV} ${D}${libdir}/

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