[Interest] QtMultimedia how to crosscompile with GStreamer

Denis Shienkov denis.shienkov at gmail.com
Tue Nov 3 12:23:23 CET 2015


I'm sorry, the problem was on my side.. need to fix some of symlinks, like:

$ sudo ln -sf
/home/builder/Projects/tegra/rootfs/lib/arm-linux-gnueabihf/libglib-2.0.so.0
/home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/
libglib-2.0.so

BR,
Denis

2015-11-03 13:54 GMT+03:00 Denis Shienkov <denis.shienkov at gmail.com>:

> Hi all,
>
> I have Ubuntu 14.04 i386 as host OS and I want to cross-compile Qt 5.5.1
> for embedded ARM target.
> I already have a cross-compiled Qt 5.5.1, but with incomplete QtMultimedia
> module (without GStreamer 1.0).
>
> The problem is that pkg-config utility does not resolved the installed
> GStreamer parts.
>
> I have the rootfs in which my Qt were installed (e.g. in
> /home/builder/Projects/tegra/rootfs/opt).
>
> Now, to build the QtMultimedia I use this script:
>
> {code}
> #!/bin/sh
>
> TEGRA_SYSROOT=/home/builder/Projects/tegra/rootfs
>
> export PKG_CONFIG_DIR=
> export
> PKG_CONFIG_LIBDIR=${TEGRA_SYSROOT}/usr/lib/pkgconfig:${TEGRA_SYSROOT}/usr/share/pkgconfig:${TEGRA_SYSROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig
> export PKG_CONFIG_SYSROOT_DIR=${TEGRA_SYSROOT}
>
> TEGRA_QMAKE=/home/builder/Projects/tegra/rootfs/opt/qt-5.5/bin/qmake
>
> ${TEGRA_QMAKE} /home/builder/Projects/tests/qtmultimedia/qtmultimedia.pro
> GST_VERSION=1.0
> {code}
>
> Also, I modified the qtmultimedia.pro with:
>
> {code}
> ....
> } else:!android {
>     contains(QT_CONFIG, alsa):qtCompileTest(alsa)
>     contains(QT_CONFIG, pulseaudio):qtCompileTest(pulseaudio)
>
>     isEmpty(GST_VERSION) {
>         warning("*** NO GST_VERSION are set, try to take from QT_CONFIG")
>         contains(QT_CONFIG, gstreamer-0.10) {
>             GST_VERSION = 0.10
>         } else: contains(QT_CONFIG, gstreamer-1.0) {
>             GST_VERSION = 1.0
>         } else {
>         }
>     } else {
>         warning("*** GST_VERSION are set to" $$GST_VERSION)
>     }
>
>     cache(GST_VERSION, set)
>     !isEmpty(GST_VERSION) {
>         qtCompileTest(gstreamer)
>         qtCompileTest(gstreamer_photography)
>         qtCompileTest(gstreamer_encodingprofiles)
>         qtCompileTest(gstreamer_appsrc)
>         qtCompileTest(linux_v4l)
>     } else {
>         warning("*** NO GST_VERSION are set")
>     }
>
>     qtCompileTest(resourcepolicy)
>     qtCompileTest(gpu_vivante)
> }
>
> load(qt_parts)
>
> !config_alsa:warning("*** NO ALSA")
> !config_pulseaudio:warning("*** NO PULSE")
> !config_gstreamer:warning("*** NO GSTREAMER")
> !config_gstreamer_photography:warning("*** NO GSTREAMER PHOTO")
> !config_gstreamer_encodingprofiles:warning("*** NO GSTREAMER ENCODING")
> !config_gstreamer_gstreamer_appsrc:warning("*** NO GSTREAMER APP")
> !config_linux_v4l:warning("*** NO V4L")
> {code}
>
> And after running this script I got following:
>
> {quote}
> builder at tegra-build-server:~/Projects/tests/build-qtmultimedia$
> ../qmake-script
> Info: creating cache file
> /home/builder/Projects/tests/build-qtmultimedia/.qmake.cache
> Checking for openal... no
> Checking for alsa... yes
> Project WARNING: *** GST_VERSION are set to 1.0
> Checking for gstreamer... no
> Checking for gstreamer_photography... no
> Checking for gstreamer_encodingprofiles... no
> Checking for gstreamer_appsrc... no
> Checking for linux_v4l... yes
> Checking for resourcepolicy... no
> Checking for gpu_vivante... no
> Project WARNING: *** NO PULSE
> Project WARNING: *** NO GSTREAMER
> Project WARNING: *** NO GSTREAMER PHOTO
> Project WARNING: *** NO GSTREAMER ENCODING
> Project WARNING: *** NO GSTREAMER APP
> builder at tegra-build-server:~/Projects/tests/build-qtmultimedia$
> {quote}
>
> Howewer, my rootfs all GStreamer's parts are present:
>
> {code}
> builder at tegra-build-server:~/Projects/tests/build-qtmultimedia$ sudo find
> /home/builder/Projects/tegra/rootfs/ -name '*.pc' | grep gstreamer
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-app-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-plugins-good-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-base-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-net-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-rtp-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-video-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-pbutils-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-allocators-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-plugins-base-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-tag-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-fft-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-check-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-audio-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-rtsp-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-sdp-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-riff-1.0.pc
>
> /home/builder/Projects/tegra/rootfs/usr/lib/arm-linux-gnueabihf/pkgconfig/gstreamer-controller-1.0.pc
> builder at tegra-build-server:~/Projects/tests/build-qtmultimedia$
> {code}
>
> What I am doing wrong?
>
>
> BR,
> Denis
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20151103/29b70505/attachment.html>


More information about the Interest mailing list