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
QtWS25 Last Chance

Enable Gstreamer in Qt5 configuration

Scheduled Pinned Locked Moved Installation and Deployment
49 Posts 8 Posters 39.1k Views
  • 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 7 Aug 2013, 14:26 last edited by
    #15

    Dear SGalst,

    About Glib, when i run configuration, this information is displayed.
    @
    Glib auto-detection... ()
    ...
    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.
    @

    And in configuration table

    @
    ...
    Glib support ........... no
    GStreamer support ...... no
    PulseAudio support ..... no
    Large File support ..... yes
    GIF support ............ plugin
    JPEG support ........... plugin (system)
    PNG support ............ yes (qt)
    ...
    @

    1 Reply Last reply
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 7 Aug 2013, 14:34 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 7 Aug 2013, 17:05 last edited by
        #17

        Yes. It's cross-compiling.

        1 Reply Last reply
        0
        • M Offline
          M Offline
          MeowMeow
          wrote on 7 Aug 2013, 17:08 last edited by
          #18

          Yes, it's cross-compiling.

          1 Reply Last reply
          0
          • S Offline
            S Offline
            SGaist
            Lifetime Qt Champion
            wrote on 7 Aug 2013, 19:52 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 8 Aug 2013, 01:17 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 8 Aug 2013, 05:23 last edited by
                #21

                Are there any ideas?

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on 8 Aug 2013, 08:28 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 8 Aug 2013, 12:20 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
                    • S Offline
                      S Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on 8 Aug 2013, 14:00 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 8 Aug 2013, 14:11 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
                        • S Offline
                          S Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on 8 Aug 2013, 14:31 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 8 Aug 2013, 15:52 last edited by
                            #27

                            I install them on target rootfs.

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on 8 Aug 2013, 19:46 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 6 Oct 2013, 18:29 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 14 Oct 2013, 06:41 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 4 Dec 2013, 07:44 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 30 Apr 2014, 17:14 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 30 Apr 2014, 17:39 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 15 Sept 2014, 10:51 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

                                          • Login

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