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
Qt 6.11 is out! See what's new in the release blog

Enable Gstreamer in Qt5 configuration

Scheduled Pinned Locked Moved Installation and Deployment
49 Posts 8 Posters 68.3k 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
    #16

    Are you cross-compiling Qt ?

    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
      #17

      Yes. It's cross-compiling.

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

                                          • Login

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