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. Urgent Help Needed to build Linux distribution

Urgent Help Needed to build Linux distribution

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
63 Posts 4 Posters 27.9k Views
  • 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.
  • R Offline
    R Offline
    Ram_Thakkar77
    wrote on last edited by
    #4

    @jsulm , i tried above mentioned solution but no luck yet. Below is the code which i used in .sh file and .pro file:

    QTBrowser.sh

    #!/bin/sh
    appname=`basename $0 | sed s,\.sh$,,`
    
    dirname=`dirname $0`
    tmp="${dirname#?}"
    
    if [ "${dirname%$tmp}" != "/" ]; then
    dirname=$PWD/$dirname
    fi
    LD_LIBRARY_PATH=$dirname
    export LD_LIBRARY_PATH
    $dirname/$appname "$@"
    

    my .pro file code

    #-------------------------------------------------
    #
    # Project created by QtCreator 2017-02-09T15:01:26
    #
    #-------------------------------------------------
    
    QT       += core gui
    
    QT += webenginewidgets
    
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    
    TARGET = QTBrowser
    TEMPLATE = app
    
    # The following define makes your compiler emit warnings if you use
    # any feature of Qt which as been marked as deprecated (the exact warnings
    # depend on your compiler). Please consult the documentation of the
    # deprecated API in order to know how to port your code away from it.
    DEFINES += QT_DEPRECATED_WARNINGS
    
    # You can also make your code fail to compile if you use deprecated APIs.
    # In order to do so, uncomment the following line.
    # You can also select to disable deprecated APIs only up to a certain version of Qt.
    #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
    
    
    SOURCES += main.cpp\
            mainbrowser.cpp
    
    HEADERS  += mainbrowser.h
    
    FORMS    += mainbrowser.ui
    
    
    QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN/lib
    
    

    is there any other changes in project settings; which i am missing in project setting file?

    jsulmJ 1 Reply Last reply
    0
    • R Ram_Thakkar77

      @jsulm , i tried above mentioned solution but no luck yet. Below is the code which i used in .sh file and .pro file:

      QTBrowser.sh

      #!/bin/sh
      appname=`basename $0 | sed s,\.sh$,,`
      
      dirname=`dirname $0`
      tmp="${dirname#?}"
      
      if [ "${dirname%$tmp}" != "/" ]; then
      dirname=$PWD/$dirname
      fi
      LD_LIBRARY_PATH=$dirname
      export LD_LIBRARY_PATH
      $dirname/$appname "$@"
      

      my .pro file code

      #-------------------------------------------------
      #
      # Project created by QtCreator 2017-02-09T15:01:26
      #
      #-------------------------------------------------
      
      QT       += core gui
      
      QT += webenginewidgets
      
      greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
      
      TARGET = QTBrowser
      TEMPLATE = app
      
      # The following define makes your compiler emit warnings if you use
      # any feature of Qt which as been marked as deprecated (the exact warnings
      # depend on your compiler). Please consult the documentation of the
      # deprecated API in order to know how to port your code away from it.
      DEFINES += QT_DEPRECATED_WARNINGS
      
      # You can also make your code fail to compile if you use deprecated APIs.
      # In order to do so, uncomment the following line.
      # You can also select to disable deprecated APIs only up to a certain version of Qt.
      #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
      
      
      SOURCES += main.cpp\
              mainbrowser.cpp
      
      HEADERS  += mainbrowser.h
      
      FORMS    += mainbrowser.ui
      
      
      QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN/lib
      
      

      is there any other changes in project settings; which i am missing in project setting file?

      jsulmJ Online
      jsulmJ Online
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #5

      @Ram_Thakkar77 You don't need the rpath line at the end of your pro file if you use the script to start your app.
      What is the problem now with this script?

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

      R 1 Reply Last reply
      0
      • jsulmJ jsulm

        @Ram_Thakkar77 You don't need the rpath line at the end of your pro file if you use the script to start your app.
        What is the problem now with this script?

        R Offline
        R Offline
        Ram_Thakkar77
        wrote on last edited by
        #6

        Thanks for prompt reply. Let me remove the rpath from .pro file and check. Will get back to you very soon.

        R 1 Reply Last reply
        0
        • R Ram_Thakkar77

          Thanks for prompt reply. Let me remove the rpath from .pro file and check. Will get back to you very soon.

          R Offline
          R Offline
          Ram_Thakkar77
          wrote on last edited by
          #7

          @jsulm , i remove that last file from .pro file and build new executable, after running .sh file i m getting below error:

          '/root/Desktop/QTEXETesting/QTBrowser.sh' 
          /root/Desktop/QTEXETesting/QTBrowser: error while loading shared libraries: libQt5WebEngineWidgets.so.5: cannot open shared object file: No such file or directory
          
          

          I already pasted all .so files in same folder where my .sh file.

          any suggestion.

          jsulmJ 1 Reply Last reply
          0
          • p3c0P Offline
            p3c0P Offline
            p3c0
            Moderators
            wrote on last edited by
            #8

            @Ram_Thakkar77 As a simple test, just copy all the Qt libraries onto the deployment machine, keep the executable in the same directory, set the library path and try executing the application directly without any script. If it doesn't work, check the output of ldd on the application binary.

            157

            1 Reply Last reply
            1
            • R Ram_Thakkar77

              @jsulm , i remove that last file from .pro file and build new executable, after running .sh file i m getting below error:

              '/root/Desktop/QTEXETesting/QTBrowser.sh' 
              /root/Desktop/QTEXETesting/QTBrowser: error while loading shared libraries: libQt5WebEngineWidgets.so.5: cannot open shared object file: No such file or directory
              
              

              I already pasted all .so files in same folder where my .sh file.

              any suggestion.

              jsulmJ Online
              jsulmJ Online
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #9

              @Ram_Thakkar77 Is libQt5WebEngineWidgets.so.5 in the same directory as the script? Can you start your app manually from command line after entering the directory where it is? Do you get the same error then?

              NOTE: after changing pro file you need to rerun qmake and rebuild completely!

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

              1 Reply Last reply
              0
              • R Offline
                R Offline
                Ram_Thakkar77
                wrote on last edited by Ram_Thakkar77
                #10

                I already built new one , checked with ldd command and pasted all dependency in same folder where my .sh file but still getting same error.

                below is the link of screen shot of same :
                Screenshot

                jsulmJ 1 Reply Last reply
                0
                • p3c0P Offline
                  p3c0P Offline
                  p3c0
                  Moderators
                  wrote on last edited by p3c0
                  #11

                  @Ram_Thakkar77 It is clear from the screen-shot that you are not exporting the correct library path. Also ldd would have already shown the error and you would have noticed it.

                  157

                  1 Reply Last reply
                  0
                  • R Ram_Thakkar77

                    I already built new one , checked with ldd command and pasted all dependency in same folder where my .sh file but still getting same error.

                    below is the link of screen shot of same :
                    Screenshot

                    jsulmJ Online
                    jsulmJ Online
                    jsulm
                    Lifetime Qt Champion
                    wrote on last edited by
                    #12

                    @Ram_Thakkar77 So, you put all libs in lib subdirectory?
                    Then you need to change the script: LD_LIBRARY_PATH must contain the directory where the libs are.

                    LD_LIBRARY_PATH=$dirname/lib
                    

                    Also, why is Makefile there? It is only needed to build the software.

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

                    R 1 Reply Last reply
                    1
                    • jsulmJ jsulm

                      @Ram_Thakkar77 So, you put all libs in lib subdirectory?
                      Then you need to change the script: LD_LIBRARY_PATH must contain the directory where the libs are.

                      LD_LIBRARY_PATH=$dirname/lib
                      

                      Also, why is Makefile there? It is only needed to build the software.

                      R Offline
                      R Offline
                      Ram_Thakkar77
                      wrote on last edited by
                      #13

                      @jsulm Really very sorry by mistake uploaded wrong image and corrected that link. Please check it once again.

                      jsulmJ 1 Reply Last reply
                      0
                      • R Ram_Thakkar77

                        @jsulm Really very sorry by mistake uploaded wrong image and corrected that link. Please check it once again.

                        jsulmJ Online
                        jsulmJ Online
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #14

                        @Ram_Thakkar77 Copy symbolic links as well, like: libQt5WebEngineWidgets.so.5, which points to libQt5WebEngineWidgets.so.5.7.1. Your app links against libQt5WebEngineWidgets.so.5 not directly against libQt5WebEngineWidgets.so.5.7.1, so you need those links (as alternative you can rename the libs like: libQt5WebEngineWidgets.so.5 --> libQt5WebEngineWidgets.so.5.7.1).

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

                        R 1 Reply Last reply
                        0
                        • jsulmJ jsulm

                          @Ram_Thakkar77 Copy symbolic links as well, like: libQt5WebEngineWidgets.so.5, which points to libQt5WebEngineWidgets.so.5.7.1. Your app links against libQt5WebEngineWidgets.so.5 not directly against libQt5WebEngineWidgets.so.5.7.1, so you need those links (as alternative you can rename the libs like: libQt5WebEngineWidgets.so.5 --> libQt5WebEngineWidgets.so.5.7.1).

                          R Offline
                          R Offline
                          Ram_Thakkar77
                          wrote on last edited by
                          #15

                          @jsulm, you are the savior for me. I pasted all .so files in same directory. Now its not giving error which i was getting previously. I m getting some new error like:

                          /root/Desktop/QTEXETesting/QTBrowser: /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5: no version information available (required by /root/Desktop/QTEXETesting/libQt5WebEngineWidgets.so.5)
                          
                          

                          and here is the link for screen shot of same : Screen Shot

                          jsulmJ 1 Reply Last reply
                          0
                          • R Ram_Thakkar77

                            @jsulm, you are the savior for me. I pasted all .so files in same directory. Now its not giving error which i was getting previously. I m getting some new error like:

                            /root/Desktop/QTEXETesting/QTBrowser: /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5: no version information available (required by /root/Desktop/QTEXETesting/libQt5WebEngineWidgets.so.5)
                            
                            

                            and here is the link for screen shot of same : Screen Shot

                            jsulmJ Online
                            jsulmJ Online
                            jsulm
                            Lifetime Qt Champion
                            wrote on last edited by
                            #16

                            @Ram_Thakkar77 You did not copy all needed libraries! For example libQt5Core.so.5.7.1 is missing: you only have the link libQt5Core.so.5. Please make sure you really have all libs and symbolic links there.

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

                            1 Reply Last reply
                            0
                            • p3c0P Offline
                              p3c0P Offline
                              p3c0
                              Moderators
                              wrote on last edited by
                              #17

                              I still have doubt if library path is set correctly because the system is referring to libraries in /usr/lib where as it should have been the new path.

                              157

                              jsulmJ 1 Reply Last reply
                              0
                              • p3c0P p3c0

                                I still have doubt if library path is set correctly because the system is referring to libraries in /usr/lib where as it should have been the new path.

                                jsulmJ Online
                                jsulmJ Online
                                jsulm
                                Lifetime Qt Champion
                                wrote on last edited by
                                #18

                                @p3c0 You're right! I didn't notice this.
                                @Ram_Thakkar77 in the screen-shot you posted you can see that the system tries to load Qt libs from /usr/lib. Check your script, put

                                echo $LD_LIBRARY_PATH
                                

                                after export LD_LIBRARY_PATH and post its output.

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

                                R 1 Reply Last reply
                                0
                                • jsulmJ jsulm

                                  @p3c0 You're right! I didn't notice this.
                                  @Ram_Thakkar77 in the screen-shot you posted you can see that the system tries to load Qt libs from /usr/lib. Check your script, put

                                  echo $LD_LIBRARY_PATH
                                  

                                  after export LD_LIBRARY_PATH and post its output.

                                  R Offline
                                  R Offline
                                  Ram_Thakkar77
                                  wrote on last edited by Ram_Thakkar77
                                  #19

                                  @jsulm, here is the screen shot of echo $LD_LIBRARY_PATH and its showing correct path.
                                  Screen shot

                                  jsulmJ p3c0P 2 Replies Last reply
                                  0
                                  • R Ram_Thakkar77

                                    @jsulm, here is the screen shot of echo $LD_LIBRARY_PATH and its showing correct path.
                                    Screen shot

                                    jsulmJ Online
                                    jsulmJ Online
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by jsulm
                                    #20

                                    @Ram_Thakkar77 Please put missing libs (not only links!) in the directory as I said before. For example:

                                    libQt5Core.so.5
                                    libQt5Core.so.5.7.1
                                    

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

                                    R 1 Reply Last reply
                                    0
                                    • R Ram_Thakkar77

                                      @jsulm, here is the screen shot of echo $LD_LIBRARY_PATH and its showing correct path.
                                      Screen shot

                                      p3c0P Offline
                                      p3c0P Offline
                                      p3c0
                                      Moderators
                                      wrote on last edited by
                                      #21

                                      @Ram_Thakkar77 Can you do this simple test?

                                      • From terminal navigate to the directory where the app binary and libraries are present
                                      • export LD_LIBRARY_PATH=/root/Desktop/QTEXETesting:$LD_LIBRARY_PATH
                                      • run binary as ./QTBrowser

                                      Post the output if you get any errors.

                                      157

                                      jsulmJ 1 Reply Last reply
                                      0
                                      • p3c0P p3c0

                                        @Ram_Thakkar77 Can you do this simple test?

                                        • From terminal navigate to the directory where the app binary and libraries are present
                                        • export LD_LIBRARY_PATH=/root/Desktop/QTEXETesting:$LD_LIBRARY_PATH
                                        • run binary as ./QTBrowser

                                        Post the output if you get any errors.

                                        jsulmJ Online
                                        jsulmJ Online
                                        jsulm
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #22

                                        @p3c0 I think his problem is that some libs are missing in the directory like QtCore (he has only link there).

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

                                        1 Reply Last reply
                                        0
                                        • jsulmJ jsulm

                                          @Ram_Thakkar77 Please put missing libs (not only links!) in the directory as I said before. For example:

                                          libQt5Core.so.5
                                          libQt5Core.so.5.7.1
                                          
                                          R Offline
                                          R Offline
                                          Ram_Thakkar77
                                          wrote on last edited by Ram_Thakkar77
                                          #23

                                          @jsulm, all errors are gone related to links and necessary files after adding to respective folder, but now getting new error and below is the screen shot of same:

                                          Screenshot

                                          jsulmJ 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