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. Qt 5.9.4 For ARM
Forum Updated to NodeBB v4.3 + New Features

Qt 5.9.4 For ARM

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
7 Posts 3 Posters 2.0k 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.
  • M Offline
    M Offline
    M.Gimenez
    wrote on last edited by
    #1

    Hey guys, so i'm using Ubuntu 16.04 and i would like to make Qt for my embedded linux (which is Mini6410). I do have Qt 4.7 installed and running with to following ./configure: "./configure -opensource -embedded arm -xplatform qws/linux-arm-g++ -qt-libtiff -qt-libmng -qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neon".
    The problem is that qws isn't present in Qt 5 and above. I do have a cross compiler (tool chain) installed. Can anyone help? Appreciate the attention.

    1 Reply Last reply
    0
    • A Offline
      A Offline
      ambershark
      wrote on last edited by
      #2

      Hi, so I don't understand the question. Are you asking for alternatives to QWS? You can use QWidgets/X11 on embedded systems which covers pretty much everything you would need in a GUI.

      Or are you asking about compilation of Qt 5 for arm?

      My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

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

        Hi,

        What backend are you using with Qt 4 ?

        See here for the various possibilities with Qt 5.

        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
        1
        • M Offline
          M Offline
          M.Gimenez
          wrote on last edited by
          #4

          More like a compilation. I was able to compile using arm-linux-gnueabi, the executable is recognized by my embedded system. The problem is with libraries, when i try to execute, i get that some .so.5.9.4 is missing (like libQt5Widget and so on). I pass it thru ftp mannually and was able to get all the .so missing executables. When i was ready to run the test app i got that: "/lib/libstdc++.so.6 is missing" i didnt find this .so in my local host /lib/ alongside the other .so that was missing.
          I think i also have to have the Qt installed in my embedded system, right?! Any solutions? Thanks once again

          The qws problem is that i used the compiler in that qt folder, but the arm-linux-gnueabi worked for this new version. I believe i will have to adjust the touch afterwards but first i need to make Qt5 application works. TY!

          A 1 Reply Last reply
          0
          • M M.Gimenez

            More like a compilation. I was able to compile using arm-linux-gnueabi, the executable is recognized by my embedded system. The problem is with libraries, when i try to execute, i get that some .so.5.9.4 is missing (like libQt5Widget and so on). I pass it thru ftp mannually and was able to get all the .so missing executables. When i was ready to run the test app i got that: "/lib/libstdc++.so.6 is missing" i didnt find this .so in my local host /lib/ alongside the other .so that was missing.
            I think i also have to have the Qt installed in my embedded system, right?! Any solutions? Thanks once again

            The qws problem is that i used the compiler in that qt folder, but the arm-linux-gnueabi worked for this new version. I believe i will have to adjust the touch afterwards but first i need to make Qt5 application works. TY!

            A Offline
            A Offline
            ambershark
            wrote on last edited by
            #5

            @M.Gimenez So basically the problem here is you are deploying a binary built on a newer system onto one that is older. So it doesn't have the same libraries. Deploying binaries in linux is a huge pain. It is a big enough topic that there are massive projects made to try to make it easier.

            This may help a lot:
            http://doc.qt.io/qt-5/linux-deployment.html

            But it basically boils down to running ldd ./yourapp on your development machine and finding which libs it needs. Then making sure those libs exist on your target machine. I usually will make an install package that has those libs in them (assuming they are ones you should have, libstdc++ is not one you should distribute). There are legal issues with distributing l-gpld binaries like libstdc++. On top of that you are almost guaranteed to make a mess of things. If you insist on doing that though, just make sure it is self contained inside your app bundle and not installed system wide. Then just use something like:

            LD_LIBRARY_PATH=. ./myapp

            Make sure your libs including Qt and whatever else are in the same dir as myapp. Or you could use a start script and a more package like layout with bin/ lib/ dirs.

            Here's part of a bash script I use to create a run script for one of my products:

            echo "LD_LIBRARY_PATH=\"\`pwd\`/lib\" ./bin/myapp \$@" >> $escript
            echo >> $escript
            chmod 755 $escript
            

            $escript is the variable pointing to the launch file.

            My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

            M 1 Reply Last reply
            2
            • A ambershark

              @M.Gimenez So basically the problem here is you are deploying a binary built on a newer system onto one that is older. So it doesn't have the same libraries. Deploying binaries in linux is a huge pain. It is a big enough topic that there are massive projects made to try to make it easier.

              This may help a lot:
              http://doc.qt.io/qt-5/linux-deployment.html

              But it basically boils down to running ldd ./yourapp on your development machine and finding which libs it needs. Then making sure those libs exist on your target machine. I usually will make an install package that has those libs in them (assuming they are ones you should have, libstdc++ is not one you should distribute). There are legal issues with distributing l-gpld binaries like libstdc++. On top of that you are almost guaranteed to make a mess of things. If you insist on doing that though, just make sure it is self contained inside your app bundle and not installed system wide. Then just use something like:

              LD_LIBRARY_PATH=. ./myapp

              Make sure your libs including Qt and whatever else are in the same dir as myapp. Or you could use a start script and a more package like layout with bin/ lib/ dirs.

              Here's part of a bash script I use to create a run script for one of my products:

              echo "LD_LIBRARY_PATH=\"\`pwd\`/lib\" ./bin/myapp \$@" >> $escript
              echo >> $escript
              chmod 755 $escript
              

              $escript is the variable pointing to the launch file.

              M Offline
              M Offline
              M.Gimenez
              wrote on last edited by
              #6

              @ambershark Thank you so much, you made everything really clear! I'm gonna try to make it work but now i do have where to start, thanks once again

              1 Reply Last reply
              1
              • A Offline
                A Offline
                ambershark
                wrote on last edited by ambershark
                #7

                No problem, feel free to post back here if you get stuck on something. :)

                Oh and this may make things easier:

                https://github.com/probonopd/linuxdeployqt

                My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                1 Reply Last reply
                1

                • Login

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