Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Qt 5.7 Coss-Compile with Raspberry Pi 3
Forum Updated to NodeBB v4.3 + New Features

Qt 5.7 Coss-Compile with Raspberry Pi 3

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
25 Posts 4 Posters 9.1k Views 2 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.
  • A ascnp

    @jsulm
    The installed gstreamer-dev is as follow.(On Raspberry Pi)

    gstreamer1.0-clutter-3.0 (3.0.18-1)。
    gstreamer1.0-clutter (2.0.18-1)。
    gstreamer1.0-dvswitch (0.1.1-1)。
    gstreamer1.0-espeak (0.4.0-1)。
    gstreamer1.0-fluendo-mp3 (0.10.32.debian-1)。
    gstreamer1.0-nice (0.1.13-0ubuntu2)。
    gstreamer1.0-pocketsphinx (0.8.0+real5prealpha-1ubuntu2)。
    gstreamer1.0-alsa (1.8.2-1ubuntu0.1)。
    gstreamer1.0-doc (1.8.2-1~ubuntu1)。
    gstreamer1.0-plugins-base (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-base-apps (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-base-dbg (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-base-doc (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-good (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-good-dbg (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-good-doc (1.8.2-1ubuntu0.1)。
    gstreamer1.0-pulseaudio (1.8.2-1ubuntu0.1)。
    gstreamer1.0-tools (1.8.2-1~ubuntu1)。
    gstreamer1.0-x (1.8.2-1ubuntu0.1)。
    gstreamer1.0-hybris (1.8.2-1ubuntu0.1)。
    gstreamer1.0-libav (1.8.2-1~ubuntu1)。
    gstreamer1.0-libav-dbg (1.8.2-1~ubuntu1)。
    gstreamer1.0-packagekit (0.8.17-4ubuntu6~gcc5.4ubuntu1.1)。
    gstreamer1.0-plugins-bad (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-bad-dbg (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-bad-doc (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-bad-faad (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-bad-videoparsers (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-ugly (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-ugly-amr (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-ugly-dbg (1.8.2-1ubuntu0.1)。
    gstreamer1.0-plugins-ugly-doc (1.8.2-1ubuntu0.1)。
    gstreamer1.0-vaapi (1.8.2-1~ubuntu2)。
    gstreamer1.0-vaapi-doc (1.8.2-1~ubuntu2)。

    kshegunovK Offline
    kshegunovK Offline
    kshegunov
    Moderators
    wrote on last edited by kshegunov
    #9

    @ascnp said in QT5.7 Coss-Compile with Raspberry Pi 3:

    gstreamer1.0-nice (0.1.13-0ubuntu2)
    gstreamer1.0-pocketsphinx (0.8.0+real5prealpha-1ubuntu2)
    gstreamer1.0-alsa (1.8.2-1ubuntu0.1)
    ...

    I have no experience with rpi, but why do you have ubuntu packages installed on a debian? It looks wrong.
    For example: https://packages.debian.org/jessie/gstreamer1.0-alsa
    There isn't any ubuntu mentioned there.

    @jsulm said in QT5.7 Coss-Compile with Raspberry Pi 3:

    I'm not sure whether configure looks there by default.

    It does, at least for /usr/local/lib and /usr/local/include.

    Read and abide by the Qt Code of Conduct

    A 1 Reply Last reply
    1
    • p3c0P Offline
      p3c0P Offline
      p3c0
      Moderators
      wrote on last edited by
      #10

      @ascnp When nothing works try running configure script with -v(verbose) option. It will exactly show what it requires and what is missing and also exact file locations.

      157

      A 1 Reply Last reply
      0
      • kshegunovK kshegunov

        @ascnp said in QT5.7 Coss-Compile with Raspberry Pi 3:

        gstreamer1.0-nice (0.1.13-0ubuntu2)
        gstreamer1.0-pocketsphinx (0.8.0+real5prealpha-1ubuntu2)
        gstreamer1.0-alsa (1.8.2-1ubuntu0.1)
        ...

        I have no experience with rpi, but why do you have ubuntu packages installed on a debian? It looks wrong.
        For example: https://packages.debian.org/jessie/gstreamer1.0-alsa
        There isn't any ubuntu mentioned there.

        @jsulm said in QT5.7 Coss-Compile with Raspberry Pi 3:

        I'm not sure whether configure looks there by default.

        It does, at least for /usr/local/lib and /usr/local/include.

        A Offline
        A Offline
        ascnp
        wrote on last edited by
        #11

        @kshegunov
        I have ubuntu mate on Raspberry. So it automatically install ubuntu version dev. Actually it is almost the same as jessie.

        jsulmJ 1 Reply Last reply
        0
        • A ascnp

          @kshegunov
          I have ubuntu mate on Raspberry. So it automatically install ubuntu version dev. Actually it is almost the same as jessie.

          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #12

          @ascnp Can you post the output of configure (at least where it says it cannot find)? You should see what exactly didn't work: header file not found, libs not found, ...

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • p3c0P p3c0

            @ascnp When nothing works try running configure script with -v(verbose) option. It will exactly show what it requires and what is missing and also exact file locations.

            A Offline
            A Offline
            ascnp
            wrote on last edited by
            #13

            @p3c0
            I add -v and it shows

            the tslib:
            checking for tslib...
            /home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -pipe -marm -mfpu=vfp -mtune=arm1176jzf-s -march=armv6zk -mabi=aapcs-linux -mfloat-abi=hard --sysroot=/opt/rasp-pi-rootfs-qt5.7 -O2 -Wall -W -fPIC -I. -I/opt/rasp-pi-rootfs-qt5.7/usr/local/tslib -I../../../mkspecs/devices/linux-rasp-pi-g++ -o tslib.o tslib.cpp
            tslib.cpp:40:19: fatal error: tslib.h: No such file or directory
            compilation terminated.
            Makefile:195: recipe for target 'tslib.o' failed
            make: *** [tslib.o] Error 1
            tslib disabled.
            The tslib functionality test failed!

            and gstreamer1.0:
            checking for GStreamer 1.0...
            Project ERROR: gstreamer-audio-1.0 development package not found
            GStreamer 1.0 disabled.
            The GStreamer 1.0 functionality test failed!

            It looks like that I don't install tslib in the correct path. But I don't know where should I install.
            I will check if I really install gsreamer-audio-1.0

            1 Reply Last reply
            0
            • p3c0P Offline
              p3c0P Offline
              p3c0
              Moderators
              wrote on last edited by
              #14

              @ascnp Looks like tslib.h is missing in one of the included paths probably /opt/rasp-pi-rootfs-qt5.7/usr/local/tslib

              157

              A 1 Reply Last reply
              0
              • p3c0P p3c0

                @ascnp Looks like tslib.h is missing in one of the included paths probably /opt/rasp-pi-rootfs-qt5.7/usr/local/tslib

                A Offline
                A Offline
                ascnp
                wrote on last edited by
                #15

                @p3c0

                $ ls -R
                .:
                bin etc include lib

                ./bin:
                ts_calibrate ts_harvest ts_print ts_print_raw ts_test

                ./etc:
                ts.conf

                ./include:
                tslib.h

                ./lib:
                libts-0.0.so.0 libts-0.0.so.0.1.1 libts.la libts.so pkgconfig ts

                ./lib/pkgconfig:
                tslib-0.0.pc

                ./lib/ts:
                arctic2.la corgi.la h3600.la linear_h2200.la mk712.la ucb1x00.la
                arctic2.so corgi.so h3600.so linear_h2200.so mk712.so ucb1x00.so
                collie.la dejitter.la input.la linear.la pthres.la variance.la
                collie.so dejitter.so input.so linear.so pthres.so variance.so

                As is shown above, tslib.h is in /usr/local/tslib/include.

                And I find that I did not have gstreamer1.0-audio. And apt-get can't get gstreamer1.0-audio.

                jsulmJ 1 Reply Last reply
                0
                • A ascnp

                  @p3c0

                  $ ls -R
                  .:
                  bin etc include lib

                  ./bin:
                  ts_calibrate ts_harvest ts_print ts_print_raw ts_test

                  ./etc:
                  ts.conf

                  ./include:
                  tslib.h

                  ./lib:
                  libts-0.0.so.0 libts-0.0.so.0.1.1 libts.la libts.so pkgconfig ts

                  ./lib/pkgconfig:
                  tslib-0.0.pc

                  ./lib/ts:
                  arctic2.la corgi.la h3600.la linear_h2200.la mk712.la ucb1x00.la
                  arctic2.so corgi.so h3600.so linear_h2200.so mk712.so ucb1x00.so
                  collie.la dejitter.la input.la linear.la pthres.la variance.la
                  collie.so dejitter.so input.so linear.so pthres.so variance.so

                  As is shown above, tslib.h is in /usr/local/tslib/include.

                  And I find that I did not have gstreamer1.0-audio. And apt-get can't get gstreamer1.0-audio.

                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by
                  #16

                  @ascnp It should be -I/opt/rasp-pi-rootfs-qt5.7/usr/local/tslib/include
                  And as this error tells:

                  Project ERROR: gstreamer-audio-1.0 development package not found
                  

                  you need gstreamer-audio-1.0 development package

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  A 1 Reply Last reply
                  1
                  • jsulmJ jsulm

                    @ascnp It should be -I/opt/rasp-pi-rootfs-qt5.7/usr/local/tslib/include
                    And as this error tells:

                    Project ERROR: gstreamer-audio-1.0 development package not found
                    

                    you need gstreamer-audio-1.0 development package

                    A Offline
                    A Offline
                    ascnp
                    wrote on last edited by
                    #17

                    @jsulm
                    yes, it is in /opt/rasp-pi-rootfs-qt5.7/usr/local/tslib/include. Because I run ls -R on raspberry, so it seems in the wrong path. But when I mount SD card on x86 system, it will be in the path as you say.

                    I am trying to install gstreamer1.0-audio. But apt-get can't find it.

                    kshegunovK jsulmJ p3c0P 3 Replies Last reply
                    0
                    • A ascnp

                      @jsulm
                      yes, it is in /opt/rasp-pi-rootfs-qt5.7/usr/local/tslib/include. Because I run ls -R on raspberry, so it seems in the wrong path. But when I mount SD card on x86 system, it will be in the path as you say.

                      I am trying to install gstreamer1.0-audio. But apt-get can't find it.

                      kshegunovK Offline
                      kshegunovK Offline
                      kshegunov
                      Moderators
                      wrote on last edited by kshegunov
                      #18

                      @ascnp said in QT5.7 Coss-Compile with Raspberry Pi 3:

                      yes, it is in /opt/rasp-pi-rootfs-qt5.7/usr/local/tslib/include.

                      How did it end up there? /usr/local/tslib isn't a standard search location for includes.
                      Edit: Don't mind me, it doesn't really matter as it's passed as an additional include path.

                      PS
                      I don't know how correct you are by saying your distro is almost the same as jessie, as jessie doesn't provide libts at all. It appears to be deprecated or something.

                      Read and abide by the Qt Code of Conduct

                      A 1 Reply Last reply
                      0
                      • A ascnp

                        @jsulm
                        yes, it is in /opt/rasp-pi-rootfs-qt5.7/usr/local/tslib/include. Because I run ls -R on raspberry, so it seems in the wrong path. But when I mount SD card on x86 system, it will be in the path as you say.

                        I am trying to install gstreamer1.0-audio. But apt-get can't find it.

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #19

                        @ascnp No, what I mean is: you need to pass -I/opt/rasp-pi-rootfs-qt5.7/usr/local/tslib/include instead of -I/opt/rasp-pi-rootfs-qt5.7/usr/local/tslib to configure. Or move the header file one directory up (to /opt/rasp-pi-rootfs-qt5.7/usr/local/tslib).

                        /home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -pipe -marm -mfpu=vfp -mtune=arm1176jzf-s -march=armv6zk -mabi=aapcs-linux -mfloat-abi=hard --sysroot=/opt/rasp-pi-rootfs-qt5.7 -O2 -Wall -W -fPIC -I. -I/opt/rasp-pi-rootfs-qt5.7/usr/local/tslib -I../../../mkspecs/devices/linux-rasp-pi-g++ -o tslib.o tslib.cpp
                        

                        Regarding gsreamer-audio-1.0: I don't know what the correct name is. Just list all gstreamer packages and see whether you can find one with audio (maybe gsreamer-alsa-1.0?).

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        1 Reply Last reply
                        1
                        • A ascnp

                          @jsulm
                          yes, it is in /opt/rasp-pi-rootfs-qt5.7/usr/local/tslib/include. Because I run ls -R on raspberry, so it seems in the wrong path. But when I mount SD card on x86 system, it will be in the path as you say.

                          I am trying to install gstreamer1.0-audio. But apt-get can't find it.

                          p3c0P Offline
                          p3c0P Offline
                          p3c0
                          Moderators
                          wrote on last edited by
                          #20

                          @ascnp said in QT5.7 Coss-Compile with Raspberry Pi 3:

                          @jsulm
                          yes, it is in /opt/rasp-pi-rootfs-qt5.7/usr/local/tslib/include. Because I run ls -R on raspberry, so it seems in the wrong path. But when I mount SD card on x86 system, it will be in the path as you say.

                          I am trying to install gstreamer1.0-audio. But apt-get can't find it.

                          Try installing libgstreamer-plugins-base1.0-dev

                          157

                          1 Reply Last reply
                          0
                          • kshegunovK kshegunov

                            @ascnp said in QT5.7 Coss-Compile with Raspberry Pi 3:

                            yes, it is in /opt/rasp-pi-rootfs-qt5.7/usr/local/tslib/include.

                            How did it end up there? /usr/local/tslib isn't a standard search location for includes.
                            Edit: Don't mind me, it doesn't really matter as it's passed as an additional include path.

                            PS
                            I don't know how correct you are by saying your distro is almost the same as jessie, as jessie doesn't provide libts at all. It appears to be deprecated or something.

                            A Offline
                            A Offline
                            ascnp
                            wrote on last edited by p3c0
                            #21

                            @kshegunov
                            I also doubt that the path is not a standard search path, so that qt can not find them. I said "ubuntu mate is almost the same as jessie", which means they are both arm arch and have the same Instruction set, because they can both run on raspberry pi. So they have the same compile tools. I'm a newbie of linux system lol, so I don't know much more about the os. All I want is to finish build qt and start coding. I use qt 5.4.1before, and it is really hard to upgrade software like Qt's version in linux.

                            @jsulm
                            I did not find anything like gstreamer-audio. I am going to isntall all I can install about gstreamer1.0 without thinking lol..

                            @p3c0
                            After installing libgstreamer-plugins-base1.0-dev, it shows:
                            checking for GStreamer 1.0...

                            /home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -pipe -marm -mfpu=vfp -mtune=arm1176jzf-s -march=armv6zk -mabi=aapcs-linux -mfloat-abi=hard --sysroot=/opt/rasp-pi-rootfs-qt5.7 -O2 -pthread -pthread -pthread -pthread -pthread -Wall -W -fPIC  -I. -I/opt/rasp-pi-rootfs-qt5.7/usr/include/gstreamer-1.0 -I/opt/rasp-pi-rootfs-qt5.7/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/include -I/opt/rasp-pi-rootfs-qt5.7/usr/include/glib-2.0 -I/opt/rasp-pi-rootfs-qt5.7/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I../../../mkspecs/devices/linux-rasp-pi-g++ -o gstreamer.o gstreamer.cpp
                            /home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++ -Wl,-rpath-link,/opt/rasp-pi-rootfs-qt5.7/opt/vc/lib -Wl,-rpath-link,/opt/rasp-pi-rootfs-qt5.7/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf -mfloat-abi=hard -Wl,-O1 -o gstreamer gstreamer.o   --sysroot=/opt/rasp-pi-rootfs-qt5.7 -L/opt/rasp-pi-rootfs-qt5.7/usr/lib/arm-linux-gnueabihf -lgstaudio-1.0 -lgstvideo-1.0 -lgstbase-1.0 -lgstpbutils-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
                            /home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.7.2/../../../../arm-linux-gnueabihf/bin/ld: /opt/rasp-pi-rootfs-qt5.7/usr/lib/arm-linux-gnueabihf/libglib-2.0.a(libglib_2_0_la-gthread-posix.o): undefined reference to symbol 'pthread_getspecific@@GLIBC_2.4'
                            /home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.7.2/../../../../arm-linux-gnueabihf/bin/ld: note: 'pthread_getspecific@@GLIBC_2.4' is defined in DSO /opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf/libpthread.so.0 so try adding it to the linker command line
                            /opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf/libpthread.so.0: could not read symbols: Invalid operation
                            collect2: error: ld returned 1 exit status
                            Makefile:92: recipe for target 'gstreamer' failed
                            make: *** [gstreamer] Error 1
                            GStreamer 1.0 disabled.
                            The GStreamer 1.0 functionality test failed!
                            

                            it seems that I need something else.

                            jsulmJ 1 Reply Last reply
                            0
                            • A ascnp

                              @kshegunov
                              I also doubt that the path is not a standard search path, so that qt can not find them. I said "ubuntu mate is almost the same as jessie", which means they are both arm arch and have the same Instruction set, because they can both run on raspberry pi. So they have the same compile tools. I'm a newbie of linux system lol, so I don't know much more about the os. All I want is to finish build qt and start coding. I use qt 5.4.1before, and it is really hard to upgrade software like Qt's version in linux.

                              @jsulm
                              I did not find anything like gstreamer-audio. I am going to isntall all I can install about gstreamer1.0 without thinking lol..

                              @p3c0
                              After installing libgstreamer-plugins-base1.0-dev, it shows:
                              checking for GStreamer 1.0...

                              /home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -pipe -marm -mfpu=vfp -mtune=arm1176jzf-s -march=armv6zk -mabi=aapcs-linux -mfloat-abi=hard --sysroot=/opt/rasp-pi-rootfs-qt5.7 -O2 -pthread -pthread -pthread -pthread -pthread -Wall -W -fPIC  -I. -I/opt/rasp-pi-rootfs-qt5.7/usr/include/gstreamer-1.0 -I/opt/rasp-pi-rootfs-qt5.7/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/include -I/opt/rasp-pi-rootfs-qt5.7/usr/include/glib-2.0 -I/opt/rasp-pi-rootfs-qt5.7/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I../../../mkspecs/devices/linux-rasp-pi-g++ -o gstreamer.o gstreamer.cpp
                              /home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++ -Wl,-rpath-link,/opt/rasp-pi-rootfs-qt5.7/opt/vc/lib -Wl,-rpath-link,/opt/rasp-pi-rootfs-qt5.7/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf -mfloat-abi=hard -Wl,-O1 -o gstreamer gstreamer.o   --sysroot=/opt/rasp-pi-rootfs-qt5.7 -L/opt/rasp-pi-rootfs-qt5.7/usr/lib/arm-linux-gnueabihf -lgstaudio-1.0 -lgstvideo-1.0 -lgstbase-1.0 -lgstpbutils-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
                              /home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.7.2/../../../../arm-linux-gnueabihf/bin/ld: /opt/rasp-pi-rootfs-qt5.7/usr/lib/arm-linux-gnueabihf/libglib-2.0.a(libglib_2_0_la-gthread-posix.o): undefined reference to symbol 'pthread_getspecific@@GLIBC_2.4'
                              /home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.7.2/../../../../arm-linux-gnueabihf/bin/ld: note: 'pthread_getspecific@@GLIBC_2.4' is defined in DSO /opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf/libpthread.so.0 so try adding it to the linker command line
                              /opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf/libpthread.so.0: could not read symbols: Invalid operation
                              collect2: error: ld returned 1 exit status
                              Makefile:92: recipe for target 'gstreamer' failed
                              make: *** [gstreamer] Error 1
                              GStreamer 1.0 disabled.
                              The GStreamer 1.0 functionality test failed!
                              

                              it seems that I need something else.

                              jsulmJ Offline
                              jsulmJ Offline
                              jsulm
                              Lifetime Qt Champion
                              wrote on last edited by jsulm
                              #22

                              @ascnp said in QT5.7 Coss-Compile with Raspberry Pi 3:

                              gnueabihf/bin/ld: note: 'pthread_getspecific@@GLIBC_2.4' is defined in DSO /opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf/libpthread.so.0 so try adding it to the linker command line

                              This tells you what you need to do: add /opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf as directory for libraries (-L/opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf). It's not related to gstreamer anymore.

                              https://forum.qt.io/topic/113070/qt-code-of-conduct

                              A 1 Reply Last reply
                              0
                              • jsulmJ jsulm

                                @ascnp said in QT5.7 Coss-Compile with Raspberry Pi 3:

                                gnueabihf/bin/ld: note: 'pthread_getspecific@@GLIBC_2.4' is defined in DSO /opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf/libpthread.so.0 so try adding it to the linker command line

                                This tells you what you need to do: add /opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf as directory for libraries (-L/opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf). It's not related to gstreamer anymore.

                                A Offline
                                A Offline
                                ascnp
                                wrote on last edited by
                                #23

                                @jsulm
                                I add -L/opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf in configure code, but still the same error.

                                1 Reply Last reply
                                0
                                • A Offline
                                  A Offline
                                  ascnp
                                  wrote on last edited by
                                  #24

                                  I google the error
                                  "libpthread.so.0: could not read symbols: Invalid operation"
                                  and find that it is caused by command linker command line. But I try adding the path to linker command line with -L and ldconfig, but didn't work. And another way to solve this is add -lpthread after ./configer. and it did work. But another error comes.

                                  "/home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.7.2/../../../../arm-linux-gnueabihf/bin/ld: /opt/rasp-pi-rootfs-qt5.7/usr/lib/arm-linux-gnueabihf/libglib-2.0.a(libglib_2_0_la-gregex.o): undefined reference to symbol 'pcre_study'
                                  /home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.7.2/../../../../arm-linux-gnueabihf/bin/ld: note: 'pcre_study' is defined in DSO /opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf/libpcre.so.3 so try adding it to the linker command line
                                  /opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf/libpcre.so.3: could not read symbols: Invalid operation
                                  collect2: error: ld returned 1 exit status
                                  Makefile:92: recipe for target 'gstreamer' failed
                                  make: *** [gstreamer] Error 1
                                  GStreamer 1.0 disabled."

                                  Linker command line again! And adding to linker command line with ldconfig and -L, but not work again. Now I really don't know how to solve the proble. Is my pkg-config or compile tools broken?

                                  1 Reply Last reply
                                  0
                                  • A Offline
                                    A Offline
                                    ascnp
                                    wrote on last edited by
                                    #25

                                    I find another strange thing. Before checking gstreamer1.0, qt test system pcre, and the most strange thing is that it sucess!

                                    checking for PCRE...
                                    /home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -pipe -marm -mfpu=vfp -mtune=arm1176jzf-s -march=armv6zk -mabi=aapcs-linux -mfloat-abi=hard --sysroot=/opt/rasp-pi-rootfs-qt5.7 -O2 -Wall -W -fPIC -I. -I/opt/rasp-pi-rootfs-qt5.7/usr/local/tslib/include -I../../../mkspecs/devices/linux-rasp-pi-g++ -o pcre.o pcre.cpp
                                    /home/lxy/Downloads/qt5.7安装/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++ -Wl,-rpath-link,/opt/rasp-pi-rootfs-qt5.7/opt/vc/lib -Wl,-rpath-link,/opt/rasp-pi-rootfs-qt5.7/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf -mfloat-abi=hard -Wl,-O1 -o pcre pcre.o --sysroot=/opt/rasp-pi-rootfs-qt5.7 -L/opt/rasp-pi-rootfs-qt5.7/lib/arm-linux-gnueabihf/ -L/opt/rasp-pi-rootfs-qt5.7/usr/lib -L/opt/rasp-pi-rootfs-qt5.7/lib -L/opt/rasp-pi-rootfs-qt5.7/usr/local/tslib/ -lpthread -lpcre -lpcre16
                                    PCRE enabled.

                                    But when cheking gstreamer1.0, the libglib-2.0.a(libglib_2_0_la-gregex.o) has a referebce to pcre_study , and it tried to find libpcre.so.3, but says the lib is not in the linker command line. Why is it? Is that means when qt checking diffenrent part, it will set different linker command line, but not the all-use same lib?

                                    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