[oe] [PATCH] uicmoc4-native: Convert to new style staging, Remove do_stage

Frans Meulenbroeks fransmeulenbroeks at gmail.com
Tue Aug 24 17:25:20 UTC 2010


2010/8/24 Noor Ahsan <noor_ahsan at mentor.com>:
> * Convert do_stage to do_install in uicmoc4-native.inc
> * Replace ${STAGING_BINDIR} with ${D}{bindir} in inc file
> * Replace ${STAGING_DIR_NATIVE}/qt4/ with ${D}${datadir}/qt4/ in inc file to install q3porting.xml in "share" directory
> * Bump INC_PR to "r2" in inc file
> * Remove some tabs with spaces in inc file
> * Remove do_stage from uicmoc4-native_4.4.3.bb
> * Bump PR to ${INC_PR}.1
> * Set NATIVE_INSTALL_WORKS = "1"
>
> Signed-off-by: Noor Ahsan <noor_ahsan at mentor.com>
> ---
>  recipes/uicmoc/uicmoc4-native.inc      |   26 +++++++++++++-------------
>  recipes/uicmoc/uicmoc4-native_4.4.3.bb |   17 +++--------------
>  2 files changed, 16 insertions(+), 27 deletions(-)
>
> diff --git a/recipes/uicmoc/uicmoc4-native.inc b/recipes/uicmoc/uicmoc4-native.inc
> index ea6a469..2991c71 100644
> --- a/recipes/uicmoc/uicmoc4-native.inc
> +++ b/recipes/uicmoc/uicmoc4-native.inc
> @@ -4,7 +4,7 @@ SECTION = "libs"
>  HOMEPAGE = "http://www.trolltech.com"
>  PRIORITY = "optional"
>  LICENSE = "GPL"
> -INC_PR = "r1"
> +INC_PR = "r2"
>
>  SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-${PV}.tar.bz2 \
>            file://configure-fix.patch"
> @@ -59,19 +59,19 @@ do_compile() {
>     for i in ${TOBUILD2};
>     do
>         cd ${S}/$i && \
> -       ${S}/bin/qmake -spec ${S}/mkspecs/linux-g++  && \
> -       oe_runmake CC="${CC}" CXX="${CXX}"
> +        ${S}/bin/qmake -spec ${S}/mkspecs/linux-g++  && \
> +        oe_runmake CC="${CC}" CXX="${CXX}"
>     done
>  }
>
> -do_stage() {
> -       install -d ${STAGING_BINDIR}/
> -    install -m 0755 bin/moc ${STAGING_BINDIR}/moc4
> -    install -m 0755 bin/uic ${STAGING_BINDIR}/uic4
> -    install -m 0755 bin/uic3 ${STAGING_BINDIR}/uic34
> -    install -m 0755 bin/rcc ${STAGING_BINDIR}/rcc4
> -    install -m 0755 bin/lrelease ${STAGING_BINDIR}/lrelease4
> -    install -m 0755 bin/lupdate ${STAGING_BINDIR}/lupdate4
> -    install -d ${STAGING_DIR_NATIVE}/qt4/
> -    install -m 0644 tools/porting/src/q3porting.xml ${STAGING_DIR_NATIVE}/qt4/
> +do_install() {
> +    install -d ${D}${bindir}/
> +    install -m 0755 bin/moc ${D}${bindir}/moc4
> +    install -m 0755 bin/uic ${D}${bindir}/uic4
> +    install -m 0755 bin/uic3 ${D}${bindir}/uic34
> +    install -m 0755 bin/rcc ${D}${bindir}/rcc4
> +    install -m 0755 bin/lrelease ${D}${bindir}/lrelease4
> +    install -m 0755 bin/lupdate ${D}${bindir}/lupdate4
> +    install -d ${D}${datadir}/qt4/
> +    install -m 0644 tools/porting/src/q3porting.xml ${D}${datadir}/qt4/
>  }
> diff --git a/recipes/uicmoc/uicmoc4-native_4.4.3.bb b/recipes/uicmoc/uicmoc4-native_4.4.3.bb
> index 0ef53e1..fa98e25 100644
> --- a/recipes/uicmoc/uicmoc4-native_4.4.3.bb
> +++ b/recipes/uicmoc/uicmoc4-native_4.4.3.bb
> @@ -1,20 +1,9 @@
> -PR = ${INC_PR}.0
> +PR = ${INC_PR}.1
>  require uicmoc4-native.inc
>
>  inherit native
>
> -do_stage() {
> -    install -d ${STAGING_BINDIR}/
> -    install -m 0755 bin/moc ${STAGING_BINDIR}/moc4
> -    install -m 0755 bin/uic ${STAGING_BINDIR}/uic4
> -    install -m 0755 bin/uic3 ${STAGING_BINDIR}/uic34
> -    install -m 0755 bin/rcc ${STAGING_BINDIR}/rcc4
> -    install -m 0755 bin/lrelease ${STAGING_BINDIR}/lrelease4
> -    install -m 0755 bin/lupdate ${STAGING_BINDIR}/lupdate4
> -    install -d ${STAGING_DIR_NATIVE}/qt4/
> -    install -m 0644 tools/porting/src/q3porting.xml ${STAGING_DIR_NATIVE}/qt4/
> -}
> -
> -
>  SRC_URI[md5sum] = "9a639aec44a1e4c70040117183d247a3"
>  SRC_URI[sha256sum] = "05d06b93f95092f1318634fca24f0c2d0a1252c9f1dc2fbb427b07e8ecbb4f39"
> +
> +NATIVE_INSTALL_WORKS = "1"
> --
> 1.6.3.3
>
Tried to compile this, and it failed:

| g++  -c -isystem/home/frans/oe/tmp_angstrom/sysroots/i686-linux/usr/include
-O2 -g -fno-exceptions -O2 -fvisibility=hidden
-fvisibility-inlines-hidden -Wall -W -D_REENTRANT
-DQT_BUILD_NETWORK_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII
-DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_NO_DEBUG
-DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
-I../../mkspecs/qws/linux-x86-g++ -I. -I../../include/QtCore
-I../../include/QtCore -I../../include -I../../include/QtNetwork
-I.rcc/release-static-emb-x86 -Ikernel -I/usr/include
-I.moc/release-static-emb-x86 -I.uic/release-static-emb-x86 -o
.obj/release-static-emb-x86/qsslcipher.o ssl/qsslcipher.cpp
| In file included from ssl/qsslcertificate.cpp:116:
| ssl/qsslsocket_openssl_symbols_p.h:264: error: variable or field
'q_sk_free' declared void
| ssl/qsslsocket_openssl_symbols_p.h:264: error: 'STACK' was not
declared in this scope
| ssl/qsslsocket_openssl_symbols_p.h:264: error: 'a' was not declared
in this scope
| ssl/qsslsocket_openssl_symbols_p.h:265: error: 'STACK' was not
declared in this scope
| ssl/qsslsocket_openssl_symbols_p.h:265: error: 'a' was not declared
in this scope
| ssl/qsslsocket_openssl_symbols_p.h:266: error: 'STACK' was not
declared in this scope
| ssl/qsslsocket_openssl_symbols_p.h:266: error: 'a' was not declared
in this scope
| ssl/qsslsocket_openssl_symbols_p.h:266: error: expected
primary-expression before 'int'
| ssl/qsslsocket_openssl_symbols_p.h:266: error: initializer
expression list treated as compound expression
| g++  -c -isystem/home/frans/oe/tmp_angstrom/sysroots/i686-linux/usr/include
-O2 -g -fno-exceptions -O2 -fvisibility=hidden
-fvisibility-inlines-hidden -Wall -W -D_REENTRANT
-DQT_BUILD_NETWORK_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII
-DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_NO_DEBUG
-DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
-I../../mkspecs/qws/linux-x86-g++ -I. -I../../include/QtCore
-I../../include/QtCore -I../../include -I../../include/QtNetwork
-I.rcc/release-static-emb-x86 -Ikernel -I/usr/include
-I.moc/release-static-emb-x86 -I.uic/release-static-emb-x86 -o
.obj/release-static-emb-x86/qsslerror.o ssl/qsslerror.cpp
| ssl/qsslcertificate.cpp: In member function
'QMultiMap<QSsl::AlternateNameEntryType, QString>
QSslCertificate::alternateSubjectNames() const':
| ssl/qsslcertificate.cpp:372: error: 'STACK' was not declared in this scope
| ssl/qsslcertificate.cpp:372: error: 'altNames' was not declared in this scope
| ssl/qsslcertificate.cpp:372: error: expected primary-expression
before ')' token
| ssl/qsslcertificate.cpp:372: error: expected ';' before 'q_X509_get_ext_d2i'
| ssl/qsslcertificate.cpp:393: error: 'q_sk_free' was not declared in this scope
| make: *** [.obj/release-static-emb-x86/qsslcertificate.o] Error 1

Apparently this is an issue of qt and
| make: *** Waiting for unfinished jobs....
| FATAL: oe_runmake failed
| ERROR: Function do_compile failed

Apparently this is a known issue with QT4.5 (and maybe later) and openssl
uicmoc4 uses qt 4.4.3 and apparently has the same issue.
I think we should move to a newer version of QT for this recipe, but I
have too little QT knowledge to fix this.
Also please someone advise if this patch can still be pushed. The
patch itself is ok, but the result is not building (as is the current
recipe).

Frans




More information about the Openembedded-devel mailing list