[Interest] Help with qt-gstreamer recipe?

Neuer User auslands-kv at gmx.de
Mon May 19 10:57:18 CEST 2014


Hi

I need qt-gstreamer in my Qt5 app (because I am having problems with the
camera element).

I found a yocto recipe from Andrey Telepin and tried to modify it for
Qt5. It looks like this:

-----------------------------------------------------------------------
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
SECTION = "multimedia"

PR = "r0"

SRC_URI =
"http://gstreamer.freedesktop.org/src/qt-gstreamer/qt-gstreamer-0.10.3.tar.gz"

SRC_URI[md5sum] = "a5f73dfa50270a23a0b07af32304e162"
SRC_URI[sha256sum] =
"bfc4406bde003d9e2e9b7fb5d19c07349c304706ec5936160d988f28dac5dd78"

DEPENDS = "boost qtmultimedia gstreamer"

inherit cmake

do_configure() {
        # Ensure we get the cmake configure and not qmake
        cmake_do_configure
}


export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \
                        -DQT_LRELEASE_EXECUTABLE=${OE_QMAKE_LRELEASE} \
                        -DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \
                        -DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \
                        -DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \
                        -DQT_LIBRARY_DIR=${OE_QMAKE_LIBDIR_QT} \
                        -DQT_HEADERS_DIR=${OE_QMAKE_INCDIR_QT} \

-DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \
                        -DQT_QTGUI_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtGui \
                        -DQTGSTREAMER_EXAMPLES=ON      \
                        -DQT_VERSION=5 \
                        -DUSE_GST_PLUGIN_DIR=ON \
                        -DUSE_QT_PLUGIN_DIR=ON \
                        "
-----------------------------------------------------------------------

I get the following error during configure:

-----------
| -- Using Qt5 (min: 5.0.0)
| CMake Error at
/home/ubuntu/yocto/build/tmp/sysroots/cubox-i/usr/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:27
(message):
|   The imported target "Qt5::Core" references the file
|
|      "/qmake"
|
|   but this file does not exist.  Possible reasons include:
|
|   * The file was deleted, renamed, or moved to another location.
|
|   * An install or uninstall procedure did not complete successfully.
|
|   * The installation package was faulty and contained
|
|
"/home/ubuntu/yocto/build/tmp/sysroots/cubox-i/usr/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake"
|
|   but not all the files it references.
|
| Call Stack (most recent call first):
|
/home/ubuntu/yocto/build/tmp/sysroots/cubox-i/usr/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake:6
(_qt5_Core_check_file_exists)
|
/home/ubuntu/yocto/build/tmp/sysroots/cubox-i/usr/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:140
(include)
|   cmake/modules/FindQt4or5.cmake:69 (find_package)
|   CMakeLists.txt:24 (find_package)
-------------

It seems that OE_QMAKE_PATH_EXTERNAL_HOST_BINS is not defined. I have no
idea, however, where and how it should be defined correctly.

There is a file recipes-devtools/cmake/cmake_2.8.12.2.bbappend in the
meta-qt5 layer, which seems to address this problem somehow:

----------------------------------------
# Ugly hack to work around undefined OE_QMAKE_PATH_EXTERNAL_HOST_BINS
variable
# and possibly missing qmake binary (qtbase-native can be removed from
sysroot
# e.g. in order to upgrade it, even when there is target qtbase)

#| -- Performing Test run_pic_test - Success
#| CMake Error at
tmp-eglibc/sysroots/qemuarm/usr/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:27
(message):
#|   The imported target "Qt5::Core" references the file
#|
#|      "/qmake"
#|
#|   but this file does not exist.  Possible reasons include:

do_configure_prepend() {
    sed -i 's/^find_package(Qt5Core QUIET)$/#find_package(Qt5Core
QUIET)/g' ${S}/Tests/RunCMake/CMakeLists.txt
    sed -i 's/^find_package(Qt5Core REQUIRED)/#find_package(Qt5Core
REQUIRED)/g' ${S}/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake
    sed -i 's/^  find_package(Qt5Widgets REQUIRED)/#
find_package(Qt5Widgets REQUIRED)/g' ${S}/Tests/QtAutomoc/CMakeLists.txt
    sed -i 's/^find_package(Qt5Core REQUIRED)/#find_package(Qt5Core
REQUIRED)/g' ${S}/Tests/Qt4And5Automoc/CMakeLists.txt
    sed -i 's/^  find_package(Qt5Widgets QUIET NO_MODULE)/#
find_package(Qt5Widgets QUIET NO_MODULE)/g' ${S}/Tests/CMakeLists.txt
    sed -i 's/^find_package(Qt5Widgets QUIET)/#find_package(Qt5Widgets
QUIET)/g' ${S}/Source/QtDialog/CMakeLists.txt
}
-------------------------------------------

Still, I have no idea how to fix the problem. Can anybody hint me into
the right direction?

Thanks a lot

Michael




More information about the Interest mailing list