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.
  • M Offline
    M Offline
    MeowMeow
    wrote on last edited by
    #18

    Yes, it's cross-compiling.

    1 Reply Last reply
    0
    • 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

                                          • Login

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