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. Enable Gstreamer in Qt5 configuration
Forum Updated to NodeBB v4.3 + New Features

Enable Gstreamer in Qt5 configuration

Scheduled Pinned Locked Moved Installation and Deployment
49 Posts 8 Posters 39.4k 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.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #19

    That's the kind of detail you should have mention earlier...

    First thing, did you install a cross-compiling environment ? Did you pass the correct parameters to configure to enable cross-compilation ? Did you get the cross-compiled version of the dependencies you need ?

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

    1 Reply Last reply
    0
    • M Offline
      M Offline
      MeowMeow
      wrote on last edited by
      #20

      Dear SGalt,
      Sorry about mention cross-compiling lately.
      The cross-compiling is installed in my system, it is linaro-arm-linux-
      About parameters to configure, I think Qt can autodetect Gstreamer so I don't pass any option for Gstreamer in command.
      When configuration, nomally it will display information why option is disable, which errors occurs... so I can fix errors and option is enable . With Gstreamer, nothing to display, it makes me confusion.
      Thank for your support.

      1 Reply Last reply
      0
      • M Offline
        M Offline
        MeowMeow
        wrote on last edited by
        #21

        Are there any ideas?

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

          You're configuration process fails while testing glib, do you have it for ARM ? Also can you post your complete configure command ?

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

          1 Reply Last reply
          0
          • M Offline
            M Offline
            MeowMeow
            wrote on last edited by
            #23

            Dear SGalt,
            I have just installed glib2.0, libglib2.0, libglib2.0-dev, libqtglib2.0 before.
            @
            ../gcc-linaro-arm-linux-gnueabi-2012.03-20120326_linux/bin/arm-linux-gnueabi-g++ --sysroot=[TARGET_ROOTFS] -o glib glib.o -L[TARGET_ROOTFS]/usr/lib -L[TARGET_ROOTFS]/usr/lib/arm-linux-gnueabi -L[TARGET_ROOTFS/lib/arm-linux-gnueabi -lpthread -ldl -lGLESv2 -lEGL -lIMGegl -lsrv_um -lgmodule-2.0 -lgobject-2.0 -lffi -ldbus-1 -lpcre --sysroot=[TARGET_ROOTFS] -pthread -lgthread-2.0 -lrt -lglib-2.0

            /arm-linux-gnueabi/bin/ld: note: 'clock_gettime@@GLIBC_2.4' is defined in DSO ../lib/arm-linux-gnueabi/librt.so.1 so try adding it to the linker command line
            /lib/arm-linux-gnueabi/librt.so.1: could not read symbols: Invalid operation
            collect2: ld returned 1 exit status
            make: *** [glib] Error 1
            Glib disabled.
            @
            librt.so.1 exist in /lib/arm-linux-gnueabi
            I try to search solution in Google and many answer is add " -lrt" but you can see that it exist in my command.

            This is my complete configure command
            @
            ./configure -confirm-license -opensource -v -arch arm -device linux-xxx-g++ -prefix /opt/share/qt5 -device-option CROSS_COMPILE=/home/gcc-linaro-arm-linux-gnueabi-2012.03-20120326_linux/bin/arm-linux-gnueabi- -sysroot /home/rootfs_br -debug -continue -opengl es2 -pkg-config -dbus -icu
            @

            Note : linux-xxx-g++ exist in qt-everywhere.../qtbase/mkspecs/devices/

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

              Since you are cross-compiling, you also need to either get the ARM version of these libraries or cross-compile them.

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

              1 Reply Last reply
              0
              • M Offline
                M Offline
                MeowMeow
                wrote on last edited by
                #25

                Yes, i get the libraries - armel version, they are debian file and i install them by command "dpkg".

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

                  Where did you install them ?

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

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    MeowMeow
                    wrote on last edited by
                    #27

                    I install them on target rootfs.

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

                      Then how can the configure script find the libraries ?

                      One way to do that is to copy the libraries and headers from your target rootfs in your toolchain directories

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

                      1 Reply Last reply
                      0
                      • _ Offline
                        _ Offline
                        _Mark_
                        wrote on last edited by
                        #29

                        Hello, I know this thread is quite old but I'm running into the same issues. I mounted the target's rootfs in a local folder and I set the sysroot parameter to that path.

                        In that folder there is the complete arm filesystem with these packages installed:

                        @
                        libgstreamer0.10-dev
                        libgstreamer-plugins-base0.10-dev
                        gstreamer-tools
                        gstreamer0.10-plugins-bad
                        gstreamer0.10-plugins-good
                        gstreamer0.10-plugins-ugly
                        libglib2.0-dev
                        libglib2.0-0
                        libqtglib-2.0-0
                        @

                        Here the configure command:

                        @
                        ./configure -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=~/dev/rpi/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /mnt/rasp-pi-rootfs -opensource -confirm-license -optimized-qmake -reduce-relocations -reduce-exports -release -developer-build -make libs -prefix /usr/local/qt5pi -no-pch -nomake examples -nomake tests -silent
                        @

                        Anyway both GLib and GStreamer supports are disabled. Here the related errors:

                        @
                        Glib auto-detection... ()
                        compiling glib.cpp
                        glib.cpp: In function ‘int main(int, char**)’:
                        glib.cpp:48:19: warning: variable ‘context’ set but not used [-Wunused-but-set-variable]
                        glib.cpp:55:38: warning: ‘pollfd’ is used uninitialized in this function [-Wuninitialized]
                        linking glib
                        /home/femtotech/dev/rpi/gcc-4.7-linaro-rpi-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.7.2/../../../../arm-linux-gnueabihf/bin/ld: /mnt/rasp-pi-rootfs/usr/lib/arm-linux-gnueabihf/libglib-2.0.a(gmain.o): undefined reference to symbol 'clock_gettime@@GLIBC_2.4'
                        /home/femtotech/dev/rpi/gcc-4.7-linaro-rpi-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.7.2/../../../../arm-linux-gnueabihf/bin/ld: note: 'clock_gettime@@GLIBC_2.4' is defined in DSO /mnt/rasp-pi-rootfs/lib/arm-linux-gnueabihf/librt.so.1 so try adding it to the linker command line
                        /mnt/rasp-pi-rootfs/lib/arm-linux-gnueabihf/librt.so.1: could not read symbols: Invalid operation
                        collect2: error: ld returned 1 exit status
                        make: *** [glib] Error 1
                        Glib disabled.
                        @

                        But the /mnt/rasp-pi-rootfs/lib/arm-linux-gnueabihf/librt.so.1 is there, actually.

                        Any ideas?

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          MeowMeow
                          wrote on last edited by
                          #30

                          Dear Mark,
                          Please check the link to librt.so.1
                          Maybe it's broken

                          1 Reply Last reply
                          0
                          • _ Offline
                            _ Offline
                            _dmp
                            wrote on last edited by
                            #31

                            I cross compile Qt 5.2 for imx6 from source and ./configure just dont try find gstreamer from rootfs. I look at ./configure inside and dont find anything about gstreamer. What can I do?

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              maatong
                              wrote on last edited by
                              #32

                              [quote author="_dmp" date="1386143087"]I cross compile Qt 5.2 for imx6 from source and ./configure just dont try find gstreamer from rootfs. I look at ./configure inside and dont find anything about gstreamer. What can I do?[/quote]

                              Have you solved this problem?
                              I'm working on it too.

                              https://www.linkedin.com/pub/yini-guo/71/4b3/4a0

                              1 Reply Last reply
                              0
                              • A Offline
                                A Offline
                                andreyc
                                wrote on last edited by
                                #33

                                I did not try to cross-compile neither Qt nor GStreamer. So this is just my guess.
                                On Linux Qt configure tries to find gstreamer using pkg-config utility.
                                pkg-config uses $PKG_CONFIG_PATH to look for all available packages.
                                The packages are the text files with simple structure and .pc extension.

                                Try to find gstreamer*.pc files in your cross-compiled gstreamer and if you find the files then append a path to these files to PKG_CONFIG_PATH environment variable and then run configure from Qt.

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  moritzh
                                  wrote on last edited by
                                  #34

                                  Is there meanwhile a solution on how to configure Qt5.3 to use gstreamer? I have the same Problem on the Raspberry Pi.

                                  I'm using this tutorial: http://qt-project.org/wiki/Native_Build_of_Qt5_on_a_Raspberry_Pi
                                  I ignored the change of "QT_CFLAGS_GSTREAMER=" in the configure script, because it is not there. Additionally I set the following environment variables before running configure to get "pkg-config ............. yes":
                                  @PKG_CONFIG_LIBDIR="/usr/lib/pkgconfig:/usr/lib/arm-linux-gnueabihf/pkgconfig:/usr/share/pkgconfig"
                                  PKG_CONFIG_SYSROOT_DIR="/."
                                  PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/lib/arm-linux-gnueabihf/pkgconfig:/usr/share/pkgconfig"@

                                  I read a little bit in the configure script code and at the part where the "Configure summary" is generated I found nothing where it is possible to add additional Packages (for example found by pkg-config) so is it even possible that the configure script finds gstreamer or is it even searching?

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

                                    Hi and welcome to devnet,

                                    Did you install the gstreamer development packages ?

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

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      moritzh
                                      wrote on last edited by
                                      #36

                                      yes I have installed all packages which are listed on the "wiki page":http://qt-project.org/wiki/Native_Build_of_Qt5_on_a_Raspberry_Pi (first code section line 3). For gstreamer this are the following:
                                      @libgstreamer0.10-dev
                                      libgstreamer-plugins-base0.10-dev
                                      gstreamer-tools
                                      gstreamer0.10-plugins-good
                                      gstreamer0.10-plugins-bad@

                                      gstreamer itselfs works:
                                      @gst-launch-0.10 videotestsrc ! video/x-raw-rgb, framerate=25/1, width=640, height=360 ! ffmpegcolorspace ! fbdevsink@

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

                                        Did you do that on your Raspberry Pi ?

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

                                        1 Reply Last reply
                                        0
                                        • M Offline
                                          M Offline
                                          moritzh
                                          wrote on last edited by
                                          #38

                                          yes, all direct on the pi, not cross compiling

                                          1 Reply Last reply
                                          0

                                          • Login

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