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. Location of Qt libs on raspberry pi3
Forum Updated to NodeBB v4.3 + New Features

Location of Qt libs on raspberry pi3

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
14 Posts 3 Posters 2.7k Views 3 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.
  • K Offline
    K Offline
    koahnig
    wrote on last edited by
    #1

    Probably a really stupid question for all those familiar to linux. However, I am typically developing on Windows.

    Finally I have managed to cross-compile Qt 5.9.2 for raspberry pi3 based on https://wiki.qt.io/RaspberryPi2EGLFS

    The cross-compilation is done in a virtual box running ubuntu. Ihave followed the guidelines and also did at the end "make install".
    I have setup Qt creator also in the virtual box and was able to compile the analog clock example code and transfer it to the raspberry pi. It also runs "hurray"

    Since the configure holds prefix information "-prefix /usr/local/qt5pi" I expected to find all dynamic libraries somehow in that specified folder on rpi, but the only thing I have found is a folder called "examples/gui/analogclock" and the application analogclock there.

    Where are the dynamic libraries from my cross-compilation?

    Vote the answer(s) that helped you to solve your issue(s)

    Pablo J. RoginaP 1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      From what I remember, the cross-compiled libraries went in /usr/local/qt5pi as for your RPi, the easiest to find out is to run ldd your_application_name on the target and you'll have the list of the linked libraries and their path.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      K 1 Reply Last reply
      0
      • SGaistS SGaist

        Hi,

        From what I remember, the cross-compiled libraries went in /usr/local/qt5pi as for your RPi, the easiest to find out is to run ldd your_application_name on the target and you'll have the list of the linked libraries and their path.

        K Offline
        K Offline
        koahnig
        wrote on last edited by
        #3

        @SGaist

        That is the ldd output from rpi.

        	linux-vdso.so.1 (0x7ec6c000)
        	/usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76f84000)
        	libQt5Gui.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Gui.so.5 (0x76b44000)
        	libQt5Core.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5 (0x766e5000)
        	libGLESv2.so.2 => /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 (0x766cb000)
        	libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x766a2000)
        	libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x7655a000)
        	libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x764db000)
        	libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x764ae000)
        	libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x7636f000)
        	libharfbuzz.so.0 => /usr/lib/arm-linux-gnueabihf/libharfbuzz.so.0 (0x762d8000)
        	libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x762b1000)
        	libpng16.so.16 => /usr/lib/arm-linux-gnueabihf/libpng16.so.16 (0x76277000)
        	/lib/ld-linux-armhf.so.3 (0x76f9a000)
        	libicui18n.so.57 => /usr/lib/arm-linux-gnueabihf/libicui18n.so.57 (0x76067000)
        	libicuuc.so.57 => /usr/lib/arm-linux-gnueabihf/libicuuc.so.57 (0x75efd000)
        	libpcre16.so.3 => /usr/lib/arm-linux-gnueabihf/libpcre16.so.3 (0x75e8f000)
        	libdouble-conversion.so.1 => /usr/lib/arm-linux-gnueabihf/libdouble-conversion.so.1 (0x75e6d000)
        	libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x75e5a000)
        	libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0x75d52000)
        	librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x75d3b000)
        	libdrm.so.2 => /usr/lib/arm-linux-gnueabihf/libdrm.so.2 (0x75d1e000)
        	libglapi.so.0 => /usr/lib/arm-linux-gnueabihf/libglapi.so.0 (0x75ce5000)
        	libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0x75c4a000)
        	libgraphite2.so.3 => /usr/lib/arm-linux-gnueabihf/libgraphite2.so.3 (0x75c17000)
        	libicudata.so.57 => /usr/lib/arm-linux-gnueabihf/libicudata.so.57 (0x7438a000)
        	libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0x74311000)
        

        Obviously not the ones expected. I have checked the date of those libraries. They must have been installed through one of the steps given in the guidelines.

        Vote the answer(s) that helped you to solve your issue(s)

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

          Are you sure that they are not the one provided by the distribution you are using on the Pi ?

          If you want to use the other ones, I would use rsync to copy them form the desktop machine in the same folder in the sysroot.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          K 1 Reply Last reply
          0
          • SGaistS SGaist

            Are you sure that they are not the one provided by the distribution you are using on the Pi ?

            If you want to use the other ones, I would use rsync to copy them form the desktop machine in the same folder in the sysroot.

            K Offline
            K Offline
            koahnig
            wrote on last edited by
            #5

            @SGaist

            You are completely right with your remark.
            The prefix used in configure will only effect where your application will be copied, because you need always to give the password, if you have any.

            I have rsync used to copy the freshly compiled Qt libs, but I struggle at the moment to find the right EGL libs. This part of the guidelines are not matching what I found on rpi.

            Vote the answer(s) that helped you to solve your issue(s)

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #6

              What trouble do you have with EGL ?

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              K 1 Reply Last reply
              0
              • SGaistS SGaist

                What trouble do you have with EGL ?

                K Offline
                K Offline
                koahnig
                wrote on last edited by
                #7

                @SGaist

                First ao all my statement at the beginning that I have followed the guidelines is not absolutely correct. I did miss the end of the guidelines after section with "configure up to make install".

                After discovering that the Qt libs are obviously not the ones which should be used I had found the section for updating the Qt libs with rsync as you also recommended.

                Now I am stuck in section 14. [on RPi]

                sudo mv /usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0 /usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0_backup
                sudo mv /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0 /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0_backup
                sudo ln -s /opt/vc/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0
                sudo ln -s /opt/vc/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0
                sudo ln -s /opt/vc/lib/libbrcmEGL.so /opt/vc/lib/libEGL.so
                sudo ln -s /opt/vc/lib/libbrcmGLESv2.so.2 /opt/vc/lib/libGLESv2.so
                

                It does not match what I have found on my RPi. Only the first "mv" is possible, but already the next "mv"

                sudo mv /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0 /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0_backup
                

                is not possible because "/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0" is not there.

                The libraries on "/opt/vc/lib" are also different they feature a "_static". Therefore, I assume that they are static version and not the ones required.
                A "find" run on the RPi did not show any other version.

                The "funny" thing is that I was able to compile the analogclock example with a cross-compiled version of 5.9.2 and the obvious old/standard version of those libs. I guess the EGL did not work properly, because I could not show an image in the clock as a test.

                The update to proper Qt dynamic libs with rsync created now more in coimpatibilities. The example does not work anymore.

                Vote the answer(s) that helped you to solve your issue(s)

                1 Reply Last reply
                0
                • K Offline
                  K Offline
                  koahnig
                  wrote on last edited by
                  #8

                  I guess that is the explanation for the problems. A reference link is given in the guidelines, but hard to see with the color scheme.

                  https://bugreports.qt.io/browse/QTBUG-62216

                  Vote the answer(s) that helped you to solve your issue(s)

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #9

                    Are you using the same Linux distribution on the RPi ?

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    K 1 Reply Last reply
                    0
                    • SGaistS SGaist

                      Are you using the same Linux distribution on the RPi ?

                      K Offline
                      K Offline
                      koahnig
                      wrote on last edited by
                      #10

                      @SGaist

                      Yes, I am using "2018-11-13-raspbian-stretch-full" as found by following the download links.

                      Part of my problems are due to missing knowledge on linux and wrong sequence in letters.

                      I got the example analogclock back to work by basically running those commands (sudo ln -s ...) blindly.

                      However, the analogclock is not working properly. It is always started in full screen mode without anything left to stop the application. I plan to follow the comments given in the bug report. At the moment I got a feeling of entering the next struggle of a "windows boy" on linux.

                      Vote the answer(s) that helped you to solve your issue(s)

                      1 Reply Last reply
                      0
                      • K Offline
                        K Offline
                        koahnig
                        wrote on last edited by
                        #11

                        I have recompiled with adjusted settings as recommended (always a bit of interpretation required).

                        However, nothing changed. The analog example is shown full screen, even buttons are missing. Therefore a stop through Qt creator from my linux machine or a reboot of RPi required .
                        Still the same error return messages found in Qt creator output window

                        13:28:52: Starting /usr/local/qt5pi/examples/gui/analogclock/analogclock...
                        Unable to query physical screen size, defaulting to 100 dpi.
                        To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
                        

                        No clue how to change that.

                        Vote the answer(s) that helped you to solve your issue(s)

                        1 Reply Last reply
                        0
                        • K koahnig

                          Probably a really stupid question for all those familiar to linux. However, I am typically developing on Windows.

                          Finally I have managed to cross-compile Qt 5.9.2 for raspberry pi3 based on https://wiki.qt.io/RaspberryPi2EGLFS

                          The cross-compilation is done in a virtual box running ubuntu. Ihave followed the guidelines and also did at the end "make install".
                          I have setup Qt creator also in the virtual box and was able to compile the analog clock example code and transfer it to the raspberry pi. It also runs "hurray"

                          Since the configure holds prefix information "-prefix /usr/local/qt5pi" I expected to find all dynamic libraries somehow in that specified folder on rpi, but the only thing I have found is a folder called "examples/gui/analogclock" and the application analogclock there.

                          Where are the dynamic libraries from my cross-compilation?

                          Pablo J. RoginaP Offline
                          Pablo J. RoginaP Offline
                          Pablo J. Rogina
                          wrote on last edited by
                          #12

                          @koahnig said in Location of Qt libs on raspberry pi3:

                          Finally I have managed to cross-compile Qt 5.9.2 for raspberry pi3 based on https://wiki.qt.io/RaspberryPi2EGLFS

                          If you did follow all the steps exactly, the location of Qt libraries in RPi is stated in step #6

                          /usr/local/qt5pi
                          

                          and given you moved the cross-compiled libraries to the device given in step #11

                          rsync -avz qt5pi pi@raspberrypi.local:/usr/local
                          

                          Upvote the answer(s) that helped you solve the issue
                          Use "Topic Tools" button to mark your post as Solved
                          Add screenshots via postimage.org
                          Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

                          K 1 Reply Last reply
                          0
                          • Pablo J. RoginaP Pablo J. Rogina

                            @koahnig said in Location of Qt libs on raspberry pi3:

                            Finally I have managed to cross-compile Qt 5.9.2 for raspberry pi3 based on https://wiki.qt.io/RaspberryPi2EGLFS

                            If you did follow all the steps exactly, the location of Qt libraries in RPi is stated in step #6

                            /usr/local/qt5pi
                            

                            and given you moved the cross-compiled libraries to the device given in step #11

                            rsync -avz qt5pi pi@raspberrypi.local:/usr/local
                            
                            K Offline
                            K Offline
                            koahnig
                            wrote on last edited by
                            #13

                            @Pablo-J.-Rogina

                            I did follow and the freshly recompiled have been rsynced. However,it did not change the error message as given in my prior post.

                            Vote the answer(s) that helped you to solve your issue(s)

                            Pablo J. RoginaP 1 Reply Last reply
                            0
                            • K koahnig

                              @Pablo-J.-Rogina

                              I did follow and the freshly recompiled have been rsynced. However,it did not change the error message as given in my prior post.

                              Pablo J. RoginaP Offline
                              Pablo J. RoginaP Offline
                              Pablo J. Rogina
                              wrote on last edited by
                              #14

                              @koahnig sorry I missed the issue regarding QT_QPA_EGLFS_PHYSICAL_* message. You may want to take a look at this post

                              Upvote the answer(s) that helped you solve the issue
                              Use "Topic Tools" button to mark your post as Solved
                              Add screenshots via postimage.org
                              Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

                              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