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. Try to cross compile QT on raspbery pi2
Forum Updated to NodeBB v4.3 + New Features

Try to cross compile QT on raspbery pi2

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
15 Posts 6 Posters 4.2k Views 4 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.
  • paavo91P Offline
    paavo91P Offline
    paavo91
    wrote on last edited by
    #1

    Hi. I am trying to do this using tutorial here https://wiki.qt.io/RaspberryPi2EGLFS but I can't even configure QT before compiling.
    When I execute this line:

    ./configure -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v
    

    I get some errors like:

    ShivaVG auto-detection... ()
    /home/pawel/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -march=armv7-a -marm -mthumb-interwork -mfpu=neon-vfpv4 -mtune=cortex-a7 -mabi=aapcs-linux -mfloat-abi=hard --sysroot=/home/pawel/raspi/sysroot -O2 -Wall -W -fPIC  -I. -I../../../../sysroot/opt/vc/include -I../../../../sysroot/opt/vc/include/interface/vcos/pthreads -I../../../../sysroot/opt/vc/include/interface/vmcs_host/linux -I../../../mkspecs/devices/linux-rasp-pi2-g++ -o shivavg.o shivavg.cpp
    shivavg.cpp:34:23: fatal error: vg/openvg.h: Nie ma takiego pliku ani katalogu
     #include <vg/openvg.h>
                           ^
    compilation terminated.
    make: *** [shivavg.o] Błąd 1
    ShivaVG disabled.
    
    

    I have this file(s) on my disk but it can't see it. Could you tell me what is going on?!

    1 Reply Last reply
    0
    • jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Do you have those files in the sysroot (~/raspi/sysroot)?

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

      paavo91P 1 Reply Last reply
      0
      • jsulmJ jsulm

        Do you have those files in the sysroot (~/raspi/sysroot)?

        paavo91P Offline
        paavo91P Offline
        paavo91
        wrote on last edited by
        #3

        @jsulm yes I have these files.
        When I try to compile by make -j4 I got:

        qeglfsbrcmintegration.cpp:35:22: fatal error: bcm_host.h: There is no such file or directory
        

        I have this file in ~/raspi/sysroot/opt/include , so I don't idea what is going on...

        1 Reply Last reply
        0
        • jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #4

          "/opt/include" is not a standard directory for include files, so I guess you will need to pass it as include directory to configure script.

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

          paavo91P 1 Reply Last reply
          0
          • jsulmJ jsulm

            "/opt/include" is not a standard directory for include files, so I guess you will need to pass it as include directory to configure script.

            paavo91P Offline
            paavo91P Offline
            paavo91
            wrote on last edited by
            #5

            @jsulm
            sorry it is opt/vc/include if it makes difference.

            1 Reply Last reply
            0
            • Bass13200B Offline
              Bass13200B Offline
              Bass13200
              wrote on last edited by Bass13200
              #6

              Hi, I have been trying for a number of days/weeks to compile Qt on Raspberry pi2 too.
              One of them with Qt 5.4.1, the other one with Qt 5.6.0

              I ran into problems regarding missing openvg.h, bcm_host.h, and a couple of other header files more or less related to VCOS.

              I did not yet consider a clean and professional solution, just wanted to make the Qt compile run in a first approach, and I could build both configurations (5.4.1 and 5.6.0, details below). I still have 2 major issues:

              with 5.4.1:

              • I managed to build the demo "cube" Qt program and it runs well, in full screen.
              • I managed to build my own QWidget based program, all the gui runs well (in full screen too), the issue is with QBluetooth layer, the "QBluetoothLocalDevice" always returns null (no local BT dongle found), although hciconfig/hcitool/gatttool work well, being able to connect to my external Bt peripheral, to scan, etc..

              with Qt 5.6.0:
              I can execute qmake and make on my own program, the same as here above, I can launch it, I have writen some QDebug() statements in the constructors, the first one displays something, and then my program aborts with the message:
              <<EGL Error : Could not create the egl surface: error = 0x3005>>

              Anyway, here is what I did to be able to build Qt on the Pi2, I know it is dirty, but it was just to understand what occured, and it sounds that these issues are long time known, some references to header files are not well addressed:
              1°) push all /opt/vc/include header files right into ./qtbase/include directory:
              cd ~/my_Qt_install_path/qtbase/include
              cp -R /opt/vc/include/* .

              2°) push all header files related to .../vcos/pthreads directory, one step upper in the hierarchy tree, right into vcos directory:
              cd ~/my_Qt_install_path/qtbase/include/interface/vcos/pthreads
              cp * ../.
              3°) push all header files related to vmcs_host/linux, one step upper in the hierarchy tree, right into vmcs_host directory
              cd ~/my_Qt_install_path/qtbase/include/interface/vmcs_host/linux
              cp -R * ../.

              Only after that I was able to configure / make / make install Qt natively on my Rpi's

              The Bluetooth and EGL issues remain, I'm stil working on them.
              Hope this could help

              1 Reply Last reply
              0
              • K Offline
                K Offline
                kuzulis
                Qt Champions 2020
                wrote on last edited by
                #7

                Just add this lines to the /mkspecs/devices/linux-rasp-pi2-g++/qmake.conf

                # My
                QMAKE_INCDIR += $$[QT_SYSROOT]/opt/vc/include \
                                $$[QT_SYSROOT]/opt/vc/include/interface/vcos/pthreads \
                                $$[QT_SYSROOT]/opt/vc/include/interface/vmcs_host/linux
                

                this QMAKE_INCDIR is duplicate of QMAKE_INCDIR_EGL, because QMAKE_INCDIR_EGL does not handles by unknown reason.

                paavo91P 1 Reply Last reply
                0
                • K kuzulis

                  Just add this lines to the /mkspecs/devices/linux-rasp-pi2-g++/qmake.conf

                  # My
                  QMAKE_INCDIR += $$[QT_SYSROOT]/opt/vc/include \
                                  $$[QT_SYSROOT]/opt/vc/include/interface/vcos/pthreads \
                                  $$[QT_SYSROOT]/opt/vc/include/interface/vmcs_host/linux
                  

                  this QMAKE_INCDIR is duplicate of QMAKE_INCDIR_EGL, because QMAKE_INCDIR_EGL does not handles by unknown reason.

                  paavo91P Offline
                  paavo91P Offline
                  paavo91
                  wrote on last edited by paavo91
                  #8

                  @kuzulis

                  with single $ or double $ $ before [QT_SYSROOT] ?

                  1 Reply Last reply
                  0
                  • K Offline
                    K Offline
                    kuzulis
                    Qt Champions 2020
                    wrote on last edited by kuzulis
                    #9

                    Of course, double, as in QMAKE_INCDIR_EGL ... seems that Markdown eat one symbol..

                    @SGaist, is it a forum's engine bug? because I see from the preview two $ $ symbols.

                    paavo91P 2 Replies Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      @kuzulis AFAIK, it's a "feature" of the markdown renderer. I'd say something to ask to the NodeBB folks

                      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
                      • K kuzulis

                        Of course, double, as in QMAKE_INCDIR_EGL ... seems that Markdown eat one symbol..

                        @SGaist, is it a forum's engine bug? because I see from the preview two $ $ symbols.

                        paavo91P Offline
                        paavo91P Offline
                        paavo91
                        wrote on last edited by
                        #11

                        @kuzulis I've done what you suggest, and now I still get errors after ./configure but when I do make everything went good without errors.

                        1 Reply Last reply
                        0
                        • paavo91P Offline
                          paavo91P Offline
                          paavo91
                          wrote on last edited by
                          #12

                          I got it!! Finally it works :)
                          But I have a question. Why, when I deploy application from QT to raspberry I can see it only when I connect display with HDMI, but I can't see it when I connect to raspberry through vncviewer? Where are configuration files which tells raspberry to display application on specific device?

                          Thanks

                          1 Reply Last reply
                          0
                          • K kuzulis

                            Of course, double, as in QMAKE_INCDIR_EGL ... seems that Markdown eat one symbol..

                            @SGaist, is it a forum's engine bug? because I see from the preview two $ $ symbols.

                            paavo91P Offline
                            paavo91P Offline
                            paavo91
                            wrote on last edited by
                            #13

                            bump
                            @kuzulis do you know?

                            1 Reply Last reply
                            0
                            • K Offline
                              K Offline
                              kuzulis
                              Qt Champions 2020
                              wrote on last edited by
                              #14

                              no, I don't know

                              1 Reply Last reply
                              0
                              • S Offline
                                S Offline
                                skypuppy
                                wrote on last edited by
                                #15

                                I had that same problem. For mine, I had to replace the ~ character with the full pathname for each time it was used in the ./configure command. You'll have to "make clean" first, now that you've run it once.

                                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