All of lore.kernel.org
 help / color / mirror / Atom feed
* "Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled"
       [not found] <91283b620909180239h5ccfd8c1p576370802938c5be@mail.gmail.com>
@ 2009-09-18  9:45 ` Stuart Gray
  2009-09-18 12:45   ` Koen Kooi
  0 siblings, 1 reply; 2+ messages in thread
From: Stuart Gray @ 2009-09-18  9:45 UTC (permalink / raw)
  To: openembedded-devel

[-- Attachment #1: Type: text/plain, Size: 1663 bytes --]

Hi

I have been working on integrating Qt4-embedded, phonon and gstreamer into
my image. This has taken some time and now that I am in position where I
believe all of the correct packages are installed I have started to test my
system.

I have loaded phonon-backend and libqsqlite manually as the Qt integration
does not seem to pull these into the image.

Sql is working as expected as my database is created. It seems to be the
gstremer installation that is now problematic.

When I run my application I get the following error:

"Warning: You do not seem to have the base GStreamer plugins installed.
          All audio and video support has been disabled"
Phonon::GStreamer::Backend: Failed to initialize GStreamer

(<unknown>:1640): GStreamer-CRITICAL **: gst_element_set_state: assertion
`GST_IS_ELEMENT (element)' failed
WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no
objectName ) to  Phonon::AudioOutput ( no objectName ).

I have tried to use opkg to understand what libraries are missing.

One library fails to be located libc6. Looking at the web pages
http://www.gumstix.net/feeds/unstable/ipk/glibc/armv7a/base/, there is no
link. I am not sure if this is required, but looking through the Debian
packages website it suggests that this is a dependency of the
gstreamer-plugins-base package. This does not mean that the OE solution
requires it, but I am not sure where else to look for help.

I am at a loss as to how to solve this and need help urgently.

I have attached several of my bb/inc files which should show what I am
trying to achieve.

Thanks in advance for you help.
Stuart

[-- Attachment #2: omap3-console-image.bb --]
[-- Type: application/octet-stream, Size: 1966 bytes --]

# console image for omap3 with Simple Audio additions

# see classes directory to see what we can inherit
inherit image 

# this can be changed to be task-base-sa
DEPENDS = "task-base"

IMAGE_EXTRA_INSTALL ?= ""

AUDIO_INSTALL = " \
  alsa-utils \
  alsa-utils-aplay \
  alsa-utils-amixer \
  angstrom-zeroconf-audio \
 "	

BASE_INSTALL = " \
  task-base-extended \
 "

FIRMWARE_INSTALL = " \
#  linux-firmware \
  libertas-sd-firmware \
  rt73-firmware \
  zd1211-firmware \
  dib0700-firmware \
 "

GLES_INSTALL = ""
GLES_INSTALL_append_beagleboard  = " libgles-omap3"

TOOLS_INSTALL = " \
  bash \
  bzip2 \
  devmem2 \
  dhcp-client \
  dosfstools \
  fbgrab \
  fbset \
  fbset-modes \
  ksymoops \
  mkfs-jffs2 \
  mtd-utils \
  nano \
  ntp ntpdate \
  openssh-misc \
  openssh-scp \
  openssh-ssh \
  procps \
  socat \
  strace \
  sudo \
  task-proper-tools \
  u-boot-tools-env \
 "

# Here we can add anything that is required for the Simple Audio Linux changes

# To add the libstdc++ to the distro we should add a recipe for our C++ application
# and then add this to the IMAGE_INSTALL, OE will then automatically include the libstdc++
SIMPLE_AUDIO = " \
  audiofile \
  esound \
  cdparanoia \
  dbus \
  dockamp \
  flac \
  ffmpeg \
  gstreamer \
  gst-ffmpeg \
  gst-plugins-base \
  gst-plugins-bad \
  gst-plugins-good \
  gst-plugins-ugly \
  hal \
  lighttpd \
  lighttpd-module-access \
  lighttpd-module-accesslog \
  lighttpd-module-indexfile \
  lighttpd-module-dirlisting \
  lighttpd-module-staticfile \
  libmad \
  madplay \
  libmusicbrainz \
  qt4-embedded \
  sqlite3 \
  wscan \
  source \
"
IMAGE_INSTALL += " \
  ${BASE_INSTALL} \
  ${AUDIO_INSTALL} \
  ${FIRMWARE_INSTALL} \
  ${GLES_INSTALL} \
  ${IMAGE_EXTRA_INSTALL} \
  ${TOOLS_INSTALL} \
  ${SIMPLE_AUDIO} \
 "

IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"

#ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'



[-- Attachment #3: gstreamer_0.10.23.bb --]
[-- Type: application/octet-stream, Size: 142 bytes --]

require gstreamer.inc

EXTRA_OECONF += "ac_cv_func_register_printf_function=no"

do_configure_prepend() {
	sed -i -e s:docs::g Makefile.am
}


[-- Attachment #4: gst-common.inc --]
[-- Type: application/octet-stream, Size: 286 bytes --]

SECTION = "multimedia"
PRIORITY = "optional"
LICENSE = "LGPL"
HOMEPAGE = "http://www.gstreamer.net/"

DEFAULT_PREFERENCE = "-1"

inherit autotools pkgconfig

OE_LT_RPATH_ALLOW = "any"
OE_LT_RPATH_ALLOW[export]="1"

AUTOTOOLS_STAGE_PKGCONFIG = "1"

do_stage() {
	autotools_stage_all
}



[-- Attachment #5: qt4-embedded_4.5.2.bb --]
[-- Type: application/octet-stream, Size: 342 bytes --]

require qt4-embedded.inc

PR = "${INC_PR}.1"

LICENSE = "LGPLv2.1 GPLv3"
SRC_URI += "file://0010-no-simpledecoration-example.patch;patch=1 \
            file://hack-out-pg_config.patch;patch=1"

FILES_${PN} += "/opt/SimpleAudio/plugins/sqldrivers/libqsqlite.so"
FILES_${PN} += "/opt/SimpleAudio/plugins/phonon_backend/libphonon_gstreamer.so"

[-- Attachment #6: qt4-embedded.inc --]
[-- Type: application/octet-stream, Size: 2329 bytes --]

SUMMARY = "Qt is a versatile cross-platform application framework -- this is the embedded version."
SECTION = "libs"
LICENSE = "GPL QPL"
PRIORITY = "optional"
HOMEPAGE = "http://www.trolltech.com"
DEPENDS += "directfb tslib"
RDEPENDS += "gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly sqlite3"
INC_PR = "r19"

QT_BASE_NAME ?= "qt4-embedded"
QT_BASE_LIB  ?= "libqt-embedded"
QT_DIR_NAME = "qtopia"
QT_LIBINFIX = "E"

SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-${PV}.tar.bz2 \
           file://0001-cross-compile.patch;patch=1 \
           file://0002-fix-resinit-declaration.patch;patch=1 \
           file://0003-no-tools.patch;patch=1 \
           file://0004-no-qmake.patch;patch=1 \
           file://0006-freetype-host-includes.patch;patch=1 \
           file://0007-openssl-host-includes.patch;patch=1 \
           file://0008-qt-lib-infix.patch;patch=1 \
           file://0009-support-2bpp.patch;patch=1 \
           file://fix-config-tests.patch;patch=1 \
           file://g++.conf \
           file://linux.conf \
           "
S = "${WORKDIR}/qt-embedded-linux-opensource-src-${PV}"

QT_CONFIG_FLAGS += " \
    -qtlibinfix ${QT_LIBINFIX} \
    -qt-decoration-styled -plugin-decoration-default -plugin-decoration-windows \
    -plugin-gfx-transformed -plugin-gfx-qvfb -plugin-gfx-vnc -plugin-gfx-directfb \
    -plugin-mouse-tslib -qt-mouse-pc -qt-mouse-qvfb \
    -qt-kbd-tty -qt-kbd-usb -qt-kbd-qvfb \
    -system-sqlite -plugin-sql-sqlite -phonon -phonon-backend \
    -no-webkit -no-xmlpatterns -no-qt3support \
    -shared -release \
    -DQT_KEYPAD_NAVIGATION \
    "

do_install_prepend() {
    install -d ${D}/opt/SimpleAudio/plugins/sqldrivers
    install -d ${D}/opt/SimpleAudio/plugins/phonon_backend
    install -m 0644 /home/stuart/overo-oe/tmp/work/armv7a-angstrom-linux-gnueabi/qt4-embedded-4.5.2-${INC_PR}.1/qt-embedded-linux-opensource-src-4.5.2/plugins/phonon_backend/libphonon_gstreamer.so \
                    ${D}/opt/SimpleAudio/plugins/phonon_backend
    install -m 0644 /home/stuart/overo-oe/tmp/work/armv7a-angstrom-linux-gnueabi/qt4-embedded-4.5.2-${INC_PR}.1/qt-embedded-linux-opensource-src-4.5.2/plugins/sqldrivers/libqsqlite.so \
                    ${D}/opt/SimpleAudio/plugins/sqldrivers
}
require qt4.inc

inherit qt4e


[-- Attachment #7: qt4.inc --]
[-- Type: application/octet-stream, Size: 15788 bytes --]

inherit qmake_base

DEPENDS += "qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base mysql postgresql sqlite \
            sqlite3 gst-plugins-good gst-plugins-bad gst-plugins-ugly"

require qt4_arch.inc
QT_ARCH := "${@qt_arch(d)}"
QT_ENDIAN = "${@qt_endian(d)}"

QT_CONFIG_FLAGS += "-release -no-cups -no-accessibility -reduce-relocations \
                    -shared -no-nas-sound -no-sm -no-nis \
                    -qt-gif -system-libjpeg -system-libpng -system-zlib \
                    -no-sql-ibase -plugin-sql-mysql -no-sql-odbc -plugin-sql-psql -plugin-sql-sqlite -plugin-sql-sqlite2 \
                    -no-pch -qdbus -stl -glib -phonon -webkit"

EXTRA_OEMAKE = "-e"

EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after \
             INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \
             QMAKESPEC="${QMAKESPEC}" LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \
             AR="${TARGET_PREFIX}ar cqs" \
             MOC="${STAGING_BINDIR_NATIVE}/moc4" UIC="${STAGING_BINDIR_NATIVE}/uic4" MAKE="make -e"'

export QT_CONF_PATH="${WORKDIR}/qt.conf"

# Library packages
QT_LIB_NAMES = "Qt3Support QtAssistantClient QtCLucene QtCore QtDBus QtDesigner QtDesignerComponents QtGui QtHelp QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg QtTest QtUiTools QtWebKit QtXml phonon"

QT_EXTRA_LIBS = "pvrQWSWSEGL"

python __anonymous () {
    import bb

    lib_packages = []
    dev_packages = []
    dbg_packages = []
    for name in bb.data.getVar("QT_LIB_NAMES", d, 1).split():
        pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "") + "4"
        # NOTE: the headers for QtAssistantClient are different
        incname = name.replace("QtAssistantClient", "QtAssistant")
        bb.data.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s${QT_LIBINFIX}.so.*" % locals(), d)
        bb.data.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s${QT_LIBINFIX}.prl
                  ${libdir}/lib%(name)s${QT_LIBINFIX}.a
                  ${libdir}/lib%(name)s${QT_LIBINFIX}.la
                  ${libdir}/lib%(name)s${QT_LIBINFIX}.so
                  ${includedir}/${QT_DIR_NAME}/%(incname)s
                  ${libdir}/pkgconfig/%(name)s${QT_LIBINFIX}.pc""" % locals(), d)
        bb.data.setVar("FILES_%s-dbg" % pkg, "${libdir}/.debug/lib%(name)s${QT_LIBINFIX}.so.*" % locals(), d)
        lib_packages.append(pkg)
        dev_packages.append("%s-dev" % pkg)
        dbg_packages.append("%s-dbg" % pkg)
    for name in bb.data.getVar("OTHER_PACKAGES", d, 1).split():
        dbg_packages.append("%s-dbg" % name)

    for name in bb.data.getVar("QT_EXTRA_LIBS", d, 1).split():
        pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "") + "4"
        bb.data.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s.so.*" % locals(), d)
        bb.data.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s.prl
                  ${libdir}/lib%(name)s.a
                  ${libdir}/lib%(name)s.la
                  ${libdir}/lib%(name)s.so
                  ${includedir}/${QT_DIR_NAME}/%(incname)s
                  ${libdir}/pkgconfig/%(name)s.pc""" % locals(), d)
        bb.data.setVar("FILES_%s-dbg" % pkg, "${libdir}/.debug/lib%(name)s.so.*" % locals(), d)
        lib_packages.append(pkg)
        dev_packages.append("%s-dev" % pkg)
        dbg_packages.append("%s-dbg" % pkg)

    bb.data.setVar("LIB_PACKAGES", " ".join(lib_packages), d)
    bb.data.setVar("DEV_PACKAGES", " ".join(dev_packages), d)
    bb.data.setVar("DBG_PACKAGES", " ".join(dbg_packages), d)
}

OTHER_PACKAGES = "\
             ${QT_BASE_NAME}-assistant \
             ${QT_BASE_NAME}-common \
             ${QT_BASE_NAME}-dbus \
             ${QT_BASE_NAME}-demos \
             ${QT_BASE_NAME}-designer \
             ${QT_BASE_NAME}-examples \
             ${QT_BASE_NAME}-fonts \
             ${QT_BASE_NAME}-linguist \
             ${QT_BASE_NAME}-makeqpf \
             ${QT_BASE_NAME}-mkspecs \
             ${QT_BASE_NAME}-pixeltool \
             ${QT_BASE_NAME}-qt3to4"

PACKAGES += "${LIB_PACKAGES} ${DEV_PACKAGES} ${DBG_PACKAGES} ${OTHER_PACKAGES}"
PACKAGES_DYNAMIC = "${QT_BASE_NAME}-plugin-*  ${QT_BASE_NAME}-translation-*"

ALLOW_EMPTY_${PN} = "1"
FILES_${PN}     = ""
FILES_${PN}-dev = "${includedir}/${QT_DIR_NAME}/Qt/*"
FILES_${PN}-dbg = ""
RRECOMMENDS_${PN} = "${LIB_PACKAGES} ${OTHER_PACKAGES}"
RRECOMMENDS_${PN}-dev = "${DEV_PACKAGES}"
RRECOMMENDS_${PN}-dbg = "${DBG_PACKAGES}"

FILES_${QT_BASE_NAME}-assistant            = "${bindir}/*assistant* ${bindir}/qcollectiongenerator ${bindir}/qhelpconverter ${bindir}/qhelpgenerator"
FILES_${QT_BASE_NAME}-assistant-dbg        = "${bindir}/.debug/*assistant* ${bindir}/.debug/qcollectiongenerator ${bindir}/.debug/qhelpconverter ${bindir}/.debug/qhelpgenerator"
FILES_${QT_BASE_NAME}-common               = "${bindir}/qtconfig"
FILES_${QT_BASE_NAME}-common-dbg           = "${bindir}/.debug/qtconfig"
FILES_${QT_BASE_NAME}-dbus                 = "${bindir}/qdbus ${bindir}/qdbusxml2cpp ${bindir}/qdbuscpp2xml ${bindir}/qdbusviewer"
FILES_${QT_BASE_NAME}-dbus-dbg             = "${bindir}/.debug/qdbus ${bindir}/.debug/qdbusxml2cpp ${bindir}/.debug/qdbuscpp2xml ${bindir}/.debug/qdbusviewer"
FILES_${QT_BASE_NAME}-demos                = "${bindir}/qtdemo ${bindir}/${QT_DIR_NAME}/demos/*"
FILES_${QT_BASE_NAME}-demos-dbg            = "${bindir}/.debug/qtdemo ${bindir}/${QT_DIR_NAME}/demos/.debug/*  ${bindir}/${QT_DIR_NAME}/demos/*/.debug  ${bindir}/${QT_DIR_NAME}/demos/*/*/.debug  ${bindir}/${QT_DIR_NAME}/demos/*/*/*/.debug"
FILES_${QT_BASE_NAME}-designer             = "${bindir}/*designer*"
FILES_${QT_BASE_NAME}-designer-dbg         = "${bindir}/.debug/*designer*"
FILES_${QT_BASE_NAME}-examples             = "${bindir}/${QT_DIR_NAME}/examples/*"
FILES_${QT_BASE_NAME}-examples-dbg         = "${bindir}/${QT_DIR_NAME}/examples/.debug ${bindir}/${QT_DIR_NAME}/examples/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/*/.debug"
FILES_${QT_BASE_NAME}-fonts                = "${libdir}/fonts"
FILES_${QT_BASE_NAME}-linguist             = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/lconvert ${bindir}/qm2ts"
FILES_${QT_BASE_NAME}-linguist-dbg         = "${bindir}/.debug/*linguist* ${bindir}/.debug/lrelease ${bindir}/.debug/lupdate ${bindir}/.debug/lconvert ${bindir}/.debug/qm2ts"
FILES_${QT_BASE_NAME}-pixeltool            = "${bindir}/pixeltool"
FILES_${QT_BASE_NAME}-pixeltool-dbg        = "${bindir}/.debug/pixeltool"
FILES_${QT_BASE_NAME}-qt3to4               = "${bindir}/qt3to4 ${datadir}/${QT_DIR_NAME}/q3porting.xml"
FILES_${QT_BASE_NAME}-qt3to4-dbg           = "${bindir}/.debug/qt3to4"
FILES_${QT_BASE_NAME}-makeqpf              = "${bindir}/makeqpf"
FILES_${QT_BASE_NAME}-makeqpf-dbg          = "${bindir}/.debug/makeqpf"
FILES_${QT_BASE_NAME}-mkspecs              = "${datadir}/${QT_DIR_NAME}/mkspecs/*"


do_configure() {
    unset QMAKESPEC
    unset QTDIR

    if [ ! -e bin/qmake ]; then
        ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
    fi

    if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
        ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
    fi

    cp -f ${WORKDIR}/g++.conf ${WORKDIR}/linux.conf mkspecs/common/

    echo "[Paths]"                                 > $QT_CONF_PATH
    echo "Prefix=${prefix}/"                      >> $QT_CONF_PATH
    echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
    echo "Headers=${includedir}/${QT_DIR_NAME}"   >> $QT_CONF_PATH
    echo "Libraries=${libdir}"                    >> $QT_CONF_PATH
    echo "Binaries=${bindir}"                     >> $QT_CONF_PATH
    echo "Plugins=${libdir}/${QT_DIR_NAME}/plugins" >> $QT_CONF_PATH
    echo "Data=${datadir}/${QT_DIR_NAME}"         >> $QT_CONF_PATH
    echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH
    echo "Settings=${sysconfdir}/${QT_DIR_NAME}"  >> $QT_CONF_PATH
    echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH
    echo "Demos=${bindir}/${QT_DIR_NAME}/demos"   >> $QT_CONF_PATH

    ${EXTRA_QMAKE_MUNGE}|| true

    (echo o; echo yes) | ./configure -v \
            -prefix ${prefix}/ \
            -bindir ${bindir} \
            -libdir ${libdir} \
            -datadir ${datadir}/${QT_DIR_NAME} \
            -sysconfdir ${sysconfdir}/${QT_DIR_NAME} \
            -docdir ${docdir}/${QT_DIR_NAME} \
            -headerdir ${includedir}/${QT_DIR_NAME} \
            -plugindir ${libdir}/${QT_DIR_NAME}/plugins \
            -translationdir ${datadir}/${QT_DIR_NAME}/translations \
            -examplesdir ${bindir}/${QT_DIR_NAME}/examples \
            -demosdir ${bindir}/${QT_DIR_NAME}/demos \
            -platform ${TARGET_OS}-oe-g++ \
            -xplatform ${TARGET_OS}-oe-g++ \
            -embedded ${QT_ARCH} ${QT_ENDIAN} -fast \
            -crossarch ${QT_ARCH} \
            ${QT_CONFIG_FLAGS} -fast \
            -L${STAGING_LIBDIR} -I${STAGING_INCDIR} \
            -I${STAGING_INCDIR}/freetype2 \
            -I${STAGING_INCDIR}/mysql \
            -I${STAGING_INCDIR}/postgresql
}

do_compile() {
    unset CFLAGS CXXFLAGS
    install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc
    install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc
    install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic

    oe_runmake ${EXTRA_ENV}
}

python populate_packages_prepend() {
        translation_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/translations/', d)
        translation_name = bb.data.expand('${QT_BASE_NAME}-translation-%s', d)
        do_split_packages(d, translation_dir, '^(assistant|designer|linguist|qt|qtconfig|qvfb)_(.*)\.qm$', translation_name, '${PN} translation for %s', extra_depends='' )
 
        phrasebook_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/phrasebooks/', d)
        phrasebook_name = bb.data.expand('${QT_BASE_NAME}-phrasebook-%s', d)
        do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' )
 
        # Package all the plugins and their -dbg version and create a meta package
        import os
        def qtopia_split(path, name, glob):
                """
                Split the package into a normal and -dbg package and then add the
                new packages to the meta package.
                """
                plugin_dir = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/' % path, d)
                if not os.path.exists("%s%s" % (bb.data.expand('${D}',d), plugin_dir)):
                        bb.note("The path does not exist:", bb.data.expand('${D}', d), plugin_dir)
                        return
 
                plugin_name = bb.data.expand('${QT_BASE_NAME}-plugin-%s-%%s' % name, d)
                dev_packages = []
                dev_hook = lambda file,pkg,b,c,d:dev_packages.append((file,pkg))
                do_split_packages(d, plugin_dir, glob, plugin_name, '${PN} %s for %%s' % name, extra_depends='', hook=dev_hook)
                # Create a -dbg package as well
                plugin_dir_dbg = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/.debug' % path, d)
                packages = bb.data.getVar('PACKAGES',d)
                for (file,package) in dev_packages:
                        packages = "%s %s-dbg" % (packages, package)
                        file_name = os.path.join(plugin_dir_dbg, os.path.basename(file))
                        bb.data.setVar("FILES_%s-dbg" % package, file_name, d)
                        bb.data.setVar("DESCRIPTION_%s-dbg" % package, "${PN} %s for %s" % (name, package), d)

                bb.data.setVar('PACKAGES', packages, d)
 
        qtopia_split('accessible',    'accessible',    '^libq(.*)\.so$')
        qtopia_split('codecs',        'codec',         '^libq(.*)\.so$')
        qtopia_split('decorations',   'decoration',    '^libqdecoration(.*)\.so$')
        qtopia_split('designer',      'designer',      '^lib(.*)\.so$')
        qtopia_split('gfxdrivers',    'gfxdriver',     '^libq(.*)\.so$')
        qtopia_split('graphicssystems','graphicssystems', '^libq(.*)\.so$')
        qtopia_split('mousedrivers',  'mousedriver',   '^libq(.*)mousedriver\.so$')
        qtopia_split('iconengines',   'iconengine',    '^libq(.*)\.so$')
        qtopia_split('imageformats',  'imageformat',   '^libq(.*)\.so$')
        qtopia_split('inputmethods',  'inputmethod',   '^libq(.*)\.so$')
        qtopia_split('sqldrivers',    'sqldriver',     '^libq(.*)\.so$')
        qtopia_split('script',        'script',        '^libqtscript(.*)\.so$')
        qtopia_split('styles',        'style',         '^libq(.*)\.so$')
        qtopia_split('phonon_backend','phonon-backend','^libphonon_(.*)\.so$')
}

do_install() {
    oe_runmake install INSTALL_ROOT=${D}
	
    # These are host binaries, we should only use them in staging
    rm -rf ${D}/${bindir}/qmake

    # fix pkgconfig, libtool and prl files
    sed -i -e s#-L${S}/lib##g \
           -e s#-L${STAGING_LIBDIR}##g \
           -e s#-L${libdir}##g \
           -e s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g \
           ${D}${libdir}/*.la ${D}${libdir}/*.prl ${D}${libdir}/pkgconfig/*.pc

    # fix pkgconfig files
    sed -i -e s#"moc_location=.*$"#"moc_location=${bindir}/moc4"# \
           -e s#"uic_location=.*$"#"uic_location=${bindir}/uic4"# \
           ${D}${libdir}/pkgconfig/*.pc
    for name in ${QT_LIB_NAMES}; do
           sed -i -e /Requires/s#"${name}"#"${name}${QT_LIBINFIX}"#g ${D}${libdir}/pkgconfig/*.pc
    done

    install -d ${D}/${libdir}/fonts
    touch ${D}/${libdir}/fonts/fontdir
}

STAGE_TEMP = "${WORKDIR}/temp-staging"
do_stage() {
    rm -rf ${STAGE_TEMP}
    mkdir -p ${STAGE_TEMP}
    oe_runmake install INSTALL_ROOT=${STAGE_TEMP}

    # fix pkgconfig, libtool and prl files
    sed -i -e s#-L${S}/lib##g \
           -e s#-L${STAGING_LIBDIR}##g \
           -e s#-L${libdir}##g \
           -e s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g \
           ${STAGE_TEMP}${libdir}/*.la ${STAGE_TEMP}${libdir}/*.prl ${STAGE_TEMP}${libdir}/pkgconfig/*.pc

    # fix pkgconfig files
    sed -i -e s#"moc_location=.*$"## \
           -e s#"uic_location=.*$"## \
           ${STAGE_TEMP}/${libdir}/pkgconfig/*.pc
    for name in ${QT_LIB_NAMES}; do
           sed -i -e "/Requires/s#${name}#${name}${QT_LIBINFIX}#"g ${D}${libdir}/pkgconfig/*.pc
    done

    # fix libtool files
    sed -i -e s#installed=yes#installed=no#g ${STAGE_TEMP}/${libdir}/*.la

    # install headers
    install -d ${STAGING_INCDIR}
    cp -pPRf ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}/

    # install libraries
    install -d ${STAGING_LIBDIR}
    for i in ${STAGE_TEMP}/${libdir}/*.prl; do
        cp -pPRf $i ${STAGING_LIBDIR}
        cp -pPRf ${STAGE_TEMP}/${libdir}/$(basename $i .prl).la ${STAGING_LIBDIR} || true
        oe_libinstall -C ${STAGE_TEMP}/${libdir} -a $(basename $i .prl) ${STAGING_LIBDIR} || true
        oe_libinstall -C ${STAGE_TEMP}/${libdir} -so $(basename $i .prl) ${STAGING_LIBDIR} || true
    done

    # install pkgconfig files
    install -d ${STAGING_LIBDIR}/pkgconfig
    cp -pPRf ${STAGE_TEMP}/${libdir}/pkgconfig/*.pc ${STAGING_LIBDIR}/pkgconfig/

    # install mkspecs
    install -d ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs
    cp -pPRf ${STAGE_TEMP}/${datadir}/${QT_DIR_NAME}/mkspecs/* ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/

    rm -rf ${STAGE_TEMP}

    # FIXME: install symlinks to tools?
    #install -d ${STAGING_DATADIR}/${QT_DIR_NAME}/bin
    #ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 ${STAGING_DATADIR}/${QT_DIR_NAME}/bin/qmake
    #for qttool in moc uic uic3 rcc lrelease lupdate; do
    #     ln -sf ${STAGING_BINDIR_NATIVE}/${qttool}4 ${STAGING_DATADIR}/${QT_DIR_NAME}/bin/${qttool}
    #done
}


[-- Attachment #8: source_1.0.bb --]
[-- Type: application/octet-stream, Size: 33 bytes --]

require source.inc
inherit qt4e


[-- Attachment #9: source.inc --]
[-- Type: application/octet-stream, Size: 863 bytes --]

DESCRIPTION = "source application for Simple Audio"
LICENSE = "IP"
DEPENDS = "qt4-embedded cdparanoia libmusicbrainz"

inherit qmake2

S = "${WORKDIR}/${PN}"

do_unpack () {
    #copy everything into the source-1.0/source directory
    cp -r ~/overo-oe/source ${S}   
}
do_compile_prepend() {
    export WORKING_DIR=${S}
    export JSONHOME=$WORKING_DIR/JSON
    export QTSTATE_DIR=$WORKING_DIR/build_dependencies/qtstatemachine-1.1-opensource
    oenote Running our compile prepend working_dir is ${WORKING_DIR} SGNOTE
}
do_install() {
        install -d ${D}/opt/SimpleAudio/bin
        install -d ${D}/opt/SimpleAudio/media
        install -d ${D}/opt/SimpleAudio/logs
        install -m 0744 ${WORKDIR}/source/source/source ${D}/opt/SimpleAudio/bin
}

PACKAGE_ARCH = "all"

FILES_${PN} = "/opt/SimpleAudio/bin"
FILES_${PN}-dbg = "/opt/SimpleAudio/bin/.debug"

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: "Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled"
  2009-09-18  9:45 ` "Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled" Stuart Gray
@ 2009-09-18 12:45   ` Koen Kooi
  0 siblings, 0 replies; 2+ messages in thread
From: Koen Kooi @ 2009-09-18 12:45 UTC (permalink / raw)
  To: openembedded-devel

You probably want 
http://www.angstrom-distribution.org/repo/?pkgname=gst-plugins-base-meta

regards,

Koen

top-posting is bad, I know

On 18-09-09 11:45, Stuart Gray wrote:
> Hi
>
> I have been working on integrating Qt4-embedded, phonon and gstreamer into
> my image. This has taken some time and now that I am in position where I
> believe all of the correct packages are installed I have started to test my
> system.
>
> I have loaded phonon-backend and libqsqlite manually as the Qt integration
> does not seem to pull these into the image.
>
> Sql is working as expected as my database is created. It seems to be the
> gstremer installation that is now problematic.
>
> When I run my application I get the following error:
>
> "Warning: You do not seem to have the base GStreamer plugins installed.
>            All audio and video support has been disabled"
> Phonon::GStreamer::Backend: Failed to initialize GStreamer
>
> (<unknown>:1640): GStreamer-CRITICAL **: gst_element_set_state: assertion
> `GST_IS_ELEMENT (element)' failed
> WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no
> objectName ) to  Phonon::AudioOutput ( no objectName ).
>
> I have tried to use opkg to understand what libraries are missing.
>
> One library fails to be located libc6. Looking at the web pages
> http://www.gumstix.net/feeds/unstable/ipk/glibc/armv7a/base/, there is no
> link. I am not sure if this is required, but looking through the Debian
> packages website it suggests that this is a dependency of the
> gstreamer-plugins-base package. This does not mean that the OE solution
> requires it, but I am not sure where else to look for help.
>
> I am at a loss as to how to solve this and need help urgently.
>
> I have attached several of my bb/inc files which should show what I am
> trying to achieve.
>
> Thanks in advance for you help.
> Stuart
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-09-18 12:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <91283b620909180239h5ccfd8c1p576370802938c5be@mail.gmail.com>
2009-09-18  9:45 ` "Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled" Stuart Gray
2009-09-18 12:45   ` Koen Kooi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.