Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. QtMultimedia can't detect libs during cross-compilation
Forum Updated to NodeBB v4.3 + New Features

QtMultimedia can't detect libs during cross-compilation

Scheduled Pinned Locked Moved Solved Installation and Deployment
5 Posts 2 Posters 907 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    r3d9u11
    wrote on last edited by r3d9u11
    #1

    Re: Qt5.12.0 configure for iMx6 issue

    Hi. I have another one trouble with cross-compilation of Qt Multimedia,
    I have installed OpenGL ES libs (with dev packages) and GStreamer libs (also with -dev packages).

    QtCore detected all needed libs, e.g. OpenGL ES 2.0 and OpengGL ES 3.0 (here is QtCore config)

    However, Qt Multimedia doesn't see needed libraries (e.g Vivante GPU and GStreamer1.0)

    Running configuration tests...
    Checking for ALSA... no
    Checking for Vivante GPU... no
    Checking for GStreamer 1.0... no
    Checking for GStreamer 0.10... no
    Checking for Video for Linux... yes
    Checking for OpenAL... no
    Checking for PulseAudio >= 0.9.10... no
    Checking for libresourceqt5... no
    Done running configuration tests.
    
    Configure summary:
    
    Qt Multimedia:
      ALSA ................................... no
      GStreamer 1.0 .......................... no
      GStreamer 0.10 ......................... no
      Video for Linux ........................ yes
      OpenAL ................................. no
      PulseAudio ............................. no
      Resource Policy (libresourceqt5) ....... no
      Windows Audio Services ................. no
      DirectShow ............................. no
      Windows Media Foundation ............... no
    

    Here is installed packaged on destination system (ubuntu1804-armhf):

    libgstreamer1.0-0
    libgstreamer1.0-dev
    gstreamer1.0-tools
    gstreamer1.0-plugins-base
    gstreamer1.0-plugins-good
    gstreamer1.0-plugins-base-apps
    libgstreamer-plugins-base1.0-dev
    

    I tried to check PKG_CONFIG and some includes on destination system (ubuntu1804-armhf):

    $ sudo chroot "sysroot" pkg-config --libs gstreamer-1.0
    -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
    
    $ sudo chroot "sysroot" ls /usr/include/GLES2
    gl2.h  gl2ext.h  gl2platform.h	gl2rename.h  gl2unname.h
    
    $sudo chroot "sysroot" ls /usr/include/gstreamer-1.0/gst
    allocators  glib-compat.h     gstbus.h		 gstcontrolbinding.h	     gstdynamictypefactory.h  gstghostpad.h    gstobject.h	   gstpoll.h	    gststreamcollection.h  gsttoc.h		 gstutils.h	rtsp
    app	    gst.h	      gstcaps.h		 gstcontrolsource.h	     gstelement.h	      gstinfo.h        gstpad.h		   gstpreset.h	    gststreams.h	   gsttocsetter.h	 gstvalue.h	sdp
    audio	    gstallocator.h    gstcapsfeatures.h  gstdatetime.h		     gstelementfactory.h      gstiterator.h    gstpadtemplate.h    gstpromise.h     gststructure.h	   gsttracer.h		 gstversion.h	tag
    base	    gstatomicqueue.h  gstchildproxy.h	 gstdebugutils.h	     gstelementmetadata.h     gstmacros.h      gstparamspecs.h	   gstprotection.h  gstsystemclock.h	   gsttracerfactory.h	 math-compat.h	video
    check	    gstbin.h	      gstclock.h	 gstdevice.h		     gstenumtypes.h	      gstmemory.h      gstparse.h	   gstquery.h	    gsttaglist.h	   gsttracerrecord.h	 net
    controller  gstbuffer.h       gstcompat.h	 gstdevicemonitor.h	     gsterror.h		      gstmessage.h     gstpipeline.h	   gstregistry.h    gsttagsetter.h	   gsttypefind.h	 pbutils
    fft	    gstbufferlist.h   gstconfig.h	 gstdeviceprovider.h	     gstevent.h		      gstmeta.h        gstplugin.h	   gstsample.h	    gsttask.h		   gsttypefindfactory.h  riff
    gl	    gstbufferpool.h   gstcontext.h	 gstdeviceproviderfactory.h  gstformat.h	      gstminiobject.h  gstpluginfeature.h  gstsegment.h     gsttaskpool.h	   gsturi.h		 rtp
    

    As I see (from QtCore config) PKG_CONFIG and ToolChain were setted right and all needed packages were installed.

    Any ideas?
    What I'm doing wrong?

    Thanks!

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      You should add the -v option to configure to see what exactly is happening with the GStreamer related tests.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      R 2 Replies Last reply
      0
      • SGaistS SGaist

        Hi,

        You should add the -v option to configure to see what exactly is happening with the GStreamer related tests.

        R Offline
        R Offline
        r3d9u11
        wrote on last edited by r3d9u11
        #3

        @SGaist Thanks for answer. I think you mean parameter "-v" as "verbose" for "./configure". It is right for QtBase, because it configures via "./configure".

        But there is not "configure" script in qtmultimedia folder and QtMultimedia configures via qmake. So parameter -v means "version" (not "verbose"):

        cd qtmultimedia
        ../sysroot/opt/Qt5.9/bin/qmake  -v
        QMake version 3.1
        Using Qt version 5.9.8 in ../sysroot/opt/Qt5.9/lib
        
        1 Reply Last reply
        0
        • SGaistS SGaist

          Hi,

          You should add the -v option to configure to see what exactly is happening with the GStreamer related tests.

          R Offline
          R Offline
          r3d9u11
          wrote on last edited by r3d9u11
          #4

          @SGaist here is query output:

          <SYSROOT_PATH>/opt/Qt5.9/bin/qmake -query 
          QT_SYSROOT:<SYSROOT_PATH>
          QT_INSTALL_PREFIX:<SYSROOT_PATH>/opt/Qt5.9
          QT_INSTALL_PREFIX/raw:/opt/Qt5.9
          QT_INSTALL_ARCHDATA:<SYSROOT_PATH>/opt/Qt5.9
          QT_INSTALL_ARCHDATA/raw:/opt/Qt5.9
          QT_INSTALL_DATA:<SYSROOT_PATH>/opt/Qt5.9
          QT_INSTALL_DATA/raw:/opt/Qt5.9
          QT_INSTALL_DOCS:<SYSROOT_PATH>/opt/Qt5.9/doc
          QT_INSTALL_DOCS/raw:/opt/Qt5.9/doc
          QT_INSTALL_HEADERS:<SYSROOT_PATH>/opt/Qt5.9/include
          QT_INSTALL_HEADERS/raw:/opt/Qt5.9/include
          QT_INSTALL_LIBS:<SYSROOT_PATH>/opt/Qt5.9/lib
          QT_INSTALL_LIBS/raw:/opt/Qt5.9/lib
          QT_INSTALL_LIBEXECS:<SYSROOT_PATH>/opt/Qt5.9/libexec
          QT_INSTALL_LIBEXECS/raw:/opt/Qt5.9/libexec
          QT_INSTALL_BINS:<SYSROOT_PATH>/opt/Qt5.9/bin
          QT_INSTALL_BINS/raw:/opt/Qt5.9/bin
          QT_INSTALL_TESTS:<SYSROOT_PATH>/opt/Qt5.9/tests
          QT_INSTALL_TESTS/raw:/opt/Qt5.9/tests
          QT_INSTALL_PLUGINS:<SYSROOT_PATH>/opt/Qt5.9/plugins
          QT_INSTALL_PLUGINS/raw:/opt/Qt5.9/plugins
          QT_INSTALL_IMPORTS:<SYSROOT_PATH>/opt/Qt5.9/imports
          QT_INSTALL_IMPORTS/raw:/opt/Qt5.9/imports
          QT_INSTALL_QML:<SYSROOT_PATH>/opt/Qt5.9/qml
          QT_INSTALL_QML/raw:/opt/Qt5.9/qml
          QT_INSTALL_TRANSLATIONS:<SYSROOT_PATH>/opt/Qt5.9/translations
          QT_INSTALL_TRANSLATIONS/raw:/opt/Qt5.9/translations
          QT_INSTALL_CONFIGURATION:<SYSROOT_PATH>/opt/Qt5.9/etc/xdg
          QT_INSTALL_CONFIGURATION/raw:/opt/Qt5.9/etc/xdg
          QT_INSTALL_EXAMPLES:<SYSROOT_PATH>/opt/Qt5.9/examples
          QT_INSTALL_EXAMPLES/raw:/opt/Qt5.9/examples
          QT_INSTALL_DEMOS:<SYSROOT_PATH>/opt/Qt5.9/examples
          QT_INSTALL_DEMOS/raw:/opt/Qt5.9/examples
          QT_HOST_PREFIX:<SYSROOT_PATH>/opt/Qt5.9
          QT_HOST_DATA:<SYSROOT_PATH>/opt/Qt5.9
          QT_HOST_BINS:<SYSROOT_PATH>/opt/Qt5.9/bin
          QT_HOST_LIBS:<SYSROOT_PATH>/opt/Qt5.9/lib
          QMAKE_SPEC:linux-g++
          QMAKE_XSPEC:devices/linux-imx6-g++
          QMAKE_VERSION:3.1
          QT_VERSION:5.9.8
          

          And here is config.log: https://pastebin.com/c58pvyNt

          Something strange bacause all includes and sysroot were setted right:

          + cd <CACHE_PATH>/qtmultimedia/config.tests/gstreamer && MAKEFLAGS= make
          > <CACHE_PATH>/gcc-linaro-7.4.1-2019.02-i686_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=<SYSROOT_PATH> -pthread -I//usr/include/gstreamer-1.0 -I//usr/include/orc-0.4 -I//usr/include/gstreamer-1.0 -I//usr/include/glib-2.0 -I//usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -w -fPIC  -I. -I<SYSROOT_PATH>/opt/Qt5.9/mkspecs/devices/linux-imx6-g++ -o main.o main.cpp
          > In file included from //usr/include/glib-2.0/glib/galloca.h:32:0,
          >                  from //usr/include/glib-2.0/glib.h:30,
          >                  from //usr/include/gstreamer-1.0/gst/gst.h:27,
          >                  from main.cpp:31:
          > //usr/include/glib-2.0/glib/gtypes.h:32:10: fatal error: glibconfig.h: No such file or directory
          >  #include <glibconfig.h>
          

          However glibconfig.h exists:

          $ sudo chroot "<SYSROOT_PATH>" pkg-config --cflags glib-2.0
          -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include
          
          $ sudo chroot "<SYSROOT_PATH>" ls /usr/lib/arm-linux-gnueabihf/glib-2.0/include
          glibconfig.h
          
          R 1 Reply Last reply
          0
          • R r3d9u11

            @SGaist here is query output:

            <SYSROOT_PATH>/opt/Qt5.9/bin/qmake -query 
            QT_SYSROOT:<SYSROOT_PATH>
            QT_INSTALL_PREFIX:<SYSROOT_PATH>/opt/Qt5.9
            QT_INSTALL_PREFIX/raw:/opt/Qt5.9
            QT_INSTALL_ARCHDATA:<SYSROOT_PATH>/opt/Qt5.9
            QT_INSTALL_ARCHDATA/raw:/opt/Qt5.9
            QT_INSTALL_DATA:<SYSROOT_PATH>/opt/Qt5.9
            QT_INSTALL_DATA/raw:/opt/Qt5.9
            QT_INSTALL_DOCS:<SYSROOT_PATH>/opt/Qt5.9/doc
            QT_INSTALL_DOCS/raw:/opt/Qt5.9/doc
            QT_INSTALL_HEADERS:<SYSROOT_PATH>/opt/Qt5.9/include
            QT_INSTALL_HEADERS/raw:/opt/Qt5.9/include
            QT_INSTALL_LIBS:<SYSROOT_PATH>/opt/Qt5.9/lib
            QT_INSTALL_LIBS/raw:/opt/Qt5.9/lib
            QT_INSTALL_LIBEXECS:<SYSROOT_PATH>/opt/Qt5.9/libexec
            QT_INSTALL_LIBEXECS/raw:/opt/Qt5.9/libexec
            QT_INSTALL_BINS:<SYSROOT_PATH>/opt/Qt5.9/bin
            QT_INSTALL_BINS/raw:/opt/Qt5.9/bin
            QT_INSTALL_TESTS:<SYSROOT_PATH>/opt/Qt5.9/tests
            QT_INSTALL_TESTS/raw:/opt/Qt5.9/tests
            QT_INSTALL_PLUGINS:<SYSROOT_PATH>/opt/Qt5.9/plugins
            QT_INSTALL_PLUGINS/raw:/opt/Qt5.9/plugins
            QT_INSTALL_IMPORTS:<SYSROOT_PATH>/opt/Qt5.9/imports
            QT_INSTALL_IMPORTS/raw:/opt/Qt5.9/imports
            QT_INSTALL_QML:<SYSROOT_PATH>/opt/Qt5.9/qml
            QT_INSTALL_QML/raw:/opt/Qt5.9/qml
            QT_INSTALL_TRANSLATIONS:<SYSROOT_PATH>/opt/Qt5.9/translations
            QT_INSTALL_TRANSLATIONS/raw:/opt/Qt5.9/translations
            QT_INSTALL_CONFIGURATION:<SYSROOT_PATH>/opt/Qt5.9/etc/xdg
            QT_INSTALL_CONFIGURATION/raw:/opt/Qt5.9/etc/xdg
            QT_INSTALL_EXAMPLES:<SYSROOT_PATH>/opt/Qt5.9/examples
            QT_INSTALL_EXAMPLES/raw:/opt/Qt5.9/examples
            QT_INSTALL_DEMOS:<SYSROOT_PATH>/opt/Qt5.9/examples
            QT_INSTALL_DEMOS/raw:/opt/Qt5.9/examples
            QT_HOST_PREFIX:<SYSROOT_PATH>/opt/Qt5.9
            QT_HOST_DATA:<SYSROOT_PATH>/opt/Qt5.9
            QT_HOST_BINS:<SYSROOT_PATH>/opt/Qt5.9/bin
            QT_HOST_LIBS:<SYSROOT_PATH>/opt/Qt5.9/lib
            QMAKE_SPEC:linux-g++
            QMAKE_XSPEC:devices/linux-imx6-g++
            QMAKE_VERSION:3.1
            QT_VERSION:5.9.8
            

            And here is config.log: https://pastebin.com/c58pvyNt

            Something strange bacause all includes and sysroot were setted right:

            + cd <CACHE_PATH>/qtmultimedia/config.tests/gstreamer && MAKEFLAGS= make
            > <CACHE_PATH>/gcc-linaro-7.4.1-2019.02-i686_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=<SYSROOT_PATH> -pthread -I//usr/include/gstreamer-1.0 -I//usr/include/orc-0.4 -I//usr/include/gstreamer-1.0 -I//usr/include/glib-2.0 -I//usr/lib/arm-linux-gnueabihf/glib-2.0/include -g -w -fPIC  -I. -I<SYSROOT_PATH>/opt/Qt5.9/mkspecs/devices/linux-imx6-g++ -o main.o main.cpp
            > In file included from //usr/include/glib-2.0/glib/galloca.h:32:0,
            >                  from //usr/include/glib-2.0/glib.h:30,
            >                  from //usr/include/gstreamer-1.0/gst/gst.h:27,
            >                  from main.cpp:31:
            > //usr/include/glib-2.0/glib/gtypes.h:32:10: fatal error: glibconfig.h: No such file or directory
            >  #include <glibconfig.h>
            

            However glibconfig.h exists:

            $ sudo chroot "<SYSROOT_PATH>" pkg-config --cflags glib-2.0
            -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include
            
            $ sudo chroot "<SYSROOT_PATH>" ls /usr/lib/arm-linux-gnueabihf/glib-2.0/include
            glibconfig.h
            
            R Offline
            R Offline
            r3d9u11
            wrote on last edited by
            #5

            @r3d9u11 Well, topic was solved with previous version of toolchain (g++ v6)

            1 Reply Last reply
            2

            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved