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

Urgent Help Needed to build Linux distribution

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
63 Posts 4 Posters 29.9k Views 2 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.
  • 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 Offline
    jsulmJ Offline
    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 Offline
            jsulmJ Offline
            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 Offline
                  jsulmJ Offline
                  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 Offline
                      jsulmJ Offline
                      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 Offline
                          jsulmJ Offline
                          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 Offline
                              jsulmJ Offline
                              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 Offline
                                  jsulmJ Offline
                                  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 Offline
                                      jsulmJ Offline
                                      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
                                        • R Ram_Thakkar77

                                          @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 Offline
                                          jsulmJ Offline
                                          jsulm
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #24

                                          @Ram_Thakkar77 Plug-ins are missing. From the link I posted before:
                                          "When looking for plugins, the application searches in a plugins subdirectory inside the directory of the application executable"
                                          Did you create "plugins" subdirectory" and put needed plugins (like xcb) there?

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

                                          R 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