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. Deploying Qt Application on Linux
Forum Updated to NodeBB v4.3 + New Features

Deploying Qt Application on Linux

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
28 Posts 4 Posters 5.8k Views 1 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.
  • S sharath

    @jsulm said in Deploying Qt Application on Linux:

    One question: do you do cross compilation or do you build/deploy directly on your device?

    i'm building directly on target device.

    sierdzioS Offline
    sierdzioS Offline
    sierdzio
    Moderators
    wrote on last edited by
    #10

    @sharath said in Deploying Qt Application on Linux:

    @jsulm said in Deploying Qt Application on Linux:

    One question: do you do cross compilation or do you build/deploy directly on your device?

    i'm building directly on target device.

    Then you need to compile linuxdeployqt on that device, too. Building instructions are in a file called BUILDING https://github.com/probonopd/linuxdeployqt/blob/master/BUILDING.md

    (Z(:^

    S 2 Replies Last reply
    4
    • sierdzioS sierdzio

      @sharath said in Deploying Qt Application on Linux:

      @jsulm said in Deploying Qt Application on Linux:

      One question: do you do cross compilation or do you build/deploy directly on your device?

      i'm building directly on target device.

      Then you need to compile linuxdeployqt on that device, too. Building instructions are in a file called BUILDING https://github.com/probonopd/linuxdeployqt/blob/master/BUILDING.md

      S Offline
      S Offline
      sharath
      wrote on last edited by
      #11

      Thanks @sierdzio, i will try this

      1 Reply Last reply
      0
      • sierdzioS sierdzio

        @sharath said in Deploying Qt Application on Linux:

        @jsulm said in Deploying Qt Application on Linux:

        One question: do you do cross compilation or do you build/deploy directly on your device?

        i'm building directly on target device.

        Then you need to compile linuxdeployqt on that device, too. Building instructions are in a file called BUILDING https://github.com/probonopd/linuxdeployqt/blob/master/BUILDING.md

        S Offline
        S Offline
        sharath
        wrote on last edited by
        #12

        hello @sierdzio, i compiled linuxdeployqt on my device and trying to run below command

        ./linuxdeployqt /path/to/appbinary -appimage
        

        i get following error

        linuxdeployqt 6 (commit 5195ec1), build <local dev build> built on 2019-12-10 05:35:49 UTC
        ERROR: The host system is too new.
        Please run on a system with a glibc version no newer than what comes with the oldest
        currently still-supported mainstream distribution (xenial), which is glibc 2.23.
        This is so that the resulting bundle will work on most still-supported Linux distributions.
        For more information, please see
        https://github.com/probonopd/linuxdeployqt/issues/340
        
        
        sierdzioS 1 Reply Last reply
        0
        • hskoglundH Offline
          hskoglundH Offline
          hskoglund
          wrote on last edited by
          #13

          There's an alternative that's supposed to work on newer Linux systems:
          https://github.com/linuxdeploy/linuxdeploy

          1 Reply Last reply
          1
          • S sharath

            hello @sierdzio, i compiled linuxdeployqt on my device and trying to run below command

            ./linuxdeployqt /path/to/appbinary -appimage
            

            i get following error

            linuxdeployqt 6 (commit 5195ec1), build <local dev build> built on 2019-12-10 05:35:49 UTC
            ERROR: The host system is too new.
            Please run on a system with a glibc version no newer than what comes with the oldest
            currently still-supported mainstream distribution (xenial), which is glibc 2.23.
            This is so that the resulting bundle will work on most still-supported Linux distributions.
            For more information, please see
            https://github.com/probonopd/linuxdeployqt/issues/340
            
            
            sierdzioS Offline
            sierdzioS Offline
            sierdzio
            Moderators
            wrote on last edited by
            #14

            @sharath said in Deploying Qt Application on Linux:

            i get following error

            Well, what do you expect from me? The error message tells you exactly what to do. Use an older operating system so that glibc is older.

            Or use -unsupported-allow-new-glibc flag to suppress this error.

            (Z(:^

            S 1 Reply Last reply
            4
            • sierdzioS sierdzio

              @sharath said in Deploying Qt Application on Linux:

              i get following error

              Well, what do you expect from me? The error message tells you exactly what to do. Use an older operating system so that glibc is older.

              Or use -unsupported-allow-new-glibc flag to suppress this error.

              S Offline
              S Offline
              sharath
              wrote on last edited by
              #15

              Thanks @sierdzio, it has worked and created all dependent libraries.

              But when i take this app and run this in other machine i get below error

              ./AppRun: error while loading shared libraries: libGLdispatch.so.0: cannot open shared object file: No such file or directory

              1 Reply Last reply
              0
              • sierdzioS Offline
                sierdzioS Offline
                sierdzio
                Moderators
                wrote on last edited by
                #16

                Do you run linuxdeployqt with -appimage flag? Try running it twice, it sometimes helps.

                Does your other machine have OpenGL libraries installed? Does it support OpenGL at all?

                (Z(:^

                S 1 Reply Last reply
                0
                • sierdzioS sierdzio

                  Do you run linuxdeployqt with -appimage flag? Try running it twice, it sometimes helps.

                  Does your other machine have OpenGL libraries installed? Does it support OpenGL at all?

                  S Offline
                  S Offline
                  sharath
                  wrote on last edited by sharath
                  #17

                  @sierdzio said in Deploying Qt Application on Linux:

                  Do you run linuxdeployqt with -appimage flag? Try running it twice, it sometimes helps.
                  Does your other machine have OpenGL libraries installed? Does it support OpenGL at all?

                  i ran linuxdeployqt with -appimage many times and also openGL is installed on my target system.

                  i'm getting same issue

                  1 Reply Last reply
                  0
                  • sierdzioS Offline
                    sierdzioS Offline
                    sierdzio
                    Moderators
                    wrote on last edited by
                    #18

                    OK then. Run with -verbose=3 and look at the output - perhaps there is some warning there that is important for you in this case.

                    You can try running deploy first without appimage flag, then copy the OpenGL library manually into the package, then run linuxdeployqt again with -appimage.

                    Lastly, maybe -extra-plugins= flag can be used to force linuxdeployqt to deploy that library.

                    (Z(:^

                    S 1 Reply Last reply
                    0
                    • sierdzioS sierdzio

                      OK then. Run with -verbose=3 and look at the output - perhaps there is some warning there that is important for you in this case.

                      You can try running deploy first without appimage flag, then copy the OpenGL library manually into the package, then run linuxdeployqt again with -appimage.

                      Lastly, maybe -extra-plugins= flag can be used to force linuxdeployqt to deploy that library.

                      S Offline
                      S Offline
                      sharath
                      wrote on last edited by sharath
                      #19

                      @sierdzio thank you for your support, I don't know why this shows diff errors.

                      ./app: /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /home/ninetripod/Documents/Vistaro_linux_1.0/bin/libopencv_core.so.4.0)
                      ./app: /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /home/ninetripod/Documents/Vistaro_linux_1.0/bin/libopencv_imgproc.so.4.0)
                      ./app: /usr/lib/aarch64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /home/ninetripod/Documents/Vistaro_linux_1.0/bin/libtbb.so.2)
                      ./app: /lib/aarch64-linux-gnu/libz.so.1: version `ZLIB_1.2.9' not found (required by /home/ninetripod/Documents/Vistaro_linux_1.0/bin/libpng16.so.16)
                      
                      1 Reply Last reply
                      0
                      • sierdzioS Offline
                        sierdzioS Offline
                        sierdzio
                        Moderators
                        wrote on last edited by
                        #20

                        Does the AppImage run correctly when you launch it on the original machine (same where you compile and run linuxdeployqt on)?

                        I don't have any further ideas.

                        (Z(:^

                        S 2 Replies Last reply
                        0
                        • sierdzioS sierdzio

                          Does the AppImage run correctly when you launch it on the original machine (same where you compile and run linuxdeployqt on)?

                          I don't have any further ideas.

                          S Offline
                          S Offline
                          sharath
                          wrote on last edited by sharath
                          #21

                          @sierdzio when i run linuxdeployqt , below warning i'm getting

                          ninetripod@X3399:~/Documents/build-linuxdeployqt-Desktop-Debug/bin$ ./linuxdeployqt /home/ninetripod/Documents/vistaro_04_12/vistaro_build/vistaroQtQuick -appimage -unsupported-allow-new-glibc
                          
                          WARNING: Not checking glibc on the host system.
                                   The resulting AppDir or AppImage may not run on older systems.
                                   This mode is unsupported and discouraged.
                                   For more information, please see
                                   https://github.com/probonopd/linuxdeployqt/issues/340
                          app-binary: "/home/ninetripod/Documents/vistaro_04_12/vistaro_build/vistaroQtQuick"
                          appDirPath: "/home/ninetripod/Documents/vistaro_04_12/vistaro_build"
                          relativeBinPath: "vistaroQtQuick"
                          Keeping existing AppRun
                          WARNING: Plugin "/usr/lib/aarch64-linux-gnu/qt5/plugins/platformthemes/libqgtk2.so" not found, skipping
                          WARNING: Plugin "/usr/lib/aarch64-linux-gnu/qt5/plugins/styles/libqgtk2style.so" not found, skipping
                          WARNING: "/home/ninetripod/Documents/vistaro_04_12/vistaro_build/qt.conf" already exists, will not overwrite.
                          
                          

                          i think this is the issue i guess.

                          1 Reply Last reply
                          0
                          • sierdzioS sierdzio

                            Does the AppImage run correctly when you launch it on the original machine (same where you compile and run linuxdeployqt on)?

                            I don't have any further ideas.

                            S Offline
                            S Offline
                            sharath
                            wrote on last edited by
                            #22

                            @sierdzio said in Deploying Qt Application on Linux:

                            Does the AppImage run correctly when you launch it on the original machine (same where you compile and run linuxdeployqt on)?

                            yes it has worked correctly.

                            1 Reply Last reply
                            0
                            • sierdzioS Offline
                              sierdzioS Offline
                              sierdzio
                              Moderators
                              wrote on last edited by
                              #23

                              I don't think gtk style plugins are a problem, they have little to do with OpenGL lib.

                              (Z(:^

                              S 2 Replies Last reply
                              0
                              • sierdzioS sierdzio

                                I don't think gtk style plugins are a problem, they have little to do with OpenGL lib.

                                S Offline
                                S Offline
                                sharath
                                wrote on last edited by
                                #24

                                @sierdzio i got to know that im building my linudeployqt on latest version of glibc, it should build on older version of glibc. so that it can be run on any newer version glibc as stated in https://github.com/probonopd/linuxdeployqt/issues/340

                                1 Reply Last reply
                                0
                                • sierdzioS sierdzio

                                  I don't think gtk style plugins are a problem, they have little to do with OpenGL lib.

                                  S Offline
                                  S Offline
                                  sharath
                                  wrote on last edited by sharath
                                  #25

                                  @sierdzio is there any other method to deploy qt apps on linux other than linuxdeployqt? if yes, could you please give me the steps for it.

                                  jsulmJ sierdzioS 2 Replies Last reply
                                  0
                                  • S sharath

                                    @sierdzio is there any other method to deploy qt apps on linux other than linuxdeployqt? if yes, could you please give me the steps for it.

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

                                    @sharath If you read the link you posted you will find these parameters:

                                    • -unsupported-allow-new-glibc
                                    • -unsupported-bundle-everything
                                      Did you try them?

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

                                    S 1 Reply Last reply
                                    1
                                    • S sharath

                                      @sierdzio is there any other method to deploy qt apps on linux other than linuxdeployqt? if yes, could you please give me the steps for it.

                                      sierdzioS Offline
                                      sierdzioS Offline
                                      sierdzio
                                      Moderators
                                      wrote on last edited by
                                      #27

                                      @sharath said in Deploying Qt Application on Linux:

                                      @sierdzio is there any other method to deploy qt apps on linux other than linuxdeployqt? if yes, could you please give me the steps for it.

                                      Oh sure, there are other ways. I don't have any ready-made steps for them, thought.

                                      You can:

                                      • create an installer using Qt Installer Framework
                                      • create DEB package
                                      • create RPM package
                                      • possibly create a snap package
                                      • possibly create a flatpak package

                                      linuxdeployqt is by far the easiest way.

                                      (Z(:^

                                      1 Reply Last reply
                                      3
                                      • jsulmJ jsulm

                                        @sharath If you read the link you posted you will find these parameters:

                                        • -unsupported-allow-new-glibc
                                        • -unsupported-bundle-everything
                                          Did you try them?
                                        S Offline
                                        S Offline
                                        sharath
                                        wrote on last edited by sharath
                                        #28

                                        @jsulm Thanks for your reply.

                                        Yes i did all these step. when i given the flag -unsupported-bundle-everything, i get below error

                                        ERROR: runPatchelf: ""
                                        ERROR: runPatchelf: ""
                                        ERROR: runPatchelf: "warning: working around a Linux kernel bug by creating a hole of 69632 bytes in \xE2\x80\x98/home/ninetripod/Documents/Test_vistaro/lib/libc.so.6\xE2\x80\x99\n"
                                        ERROR: findDependencyInfo: "/bin/bash: error while loading shared libraries: /home/ninetripod/Documents/Test_vistaro/lib/libc.so.6: file too short\n"
                                        ERROR: getBinaryRPaths: "objdump: error while loading shared libraries: /home/ninetripod/Documents/Test_vistaro/lib/libc.so.6: file too short\n"
                                        ERROR: Error reading rpath with patchelf "libmvPropHandling.so" : "patchelf: error while loading shared libraries: /home/ninetripod/Documents/Test_vistaro/lib/libc.so.6: file too short\n"
                                        
                                        
                                        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