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 8.9k 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.
  • 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