Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. [UNSOLVED] How to Move a Qt5 Compile?
Forum Updated to NodeBB v4.3 + New Features

[UNSOLVED] How to Move a Qt5 Compile?

Scheduled Pinned Locked Moved General and Desktop
19 Posts 5 Posters 13.5k 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 Offline
    S Offline
    soroush
    wrote on last edited by
    #1

    Hi

    I have a Qt5 compiled with MinGW on my home PC. How do I move it to another machine? (My laptop and university computers)
    Tried copying, though when introducing the qmake.exe to Qt Creator on target machine, it says Qt version is not properly installed. Please run make install.

    Update: I already override qt.conf.

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

      Have you compiled with "-prefix $PWD/qtbase" or "-developer-build" flags passed to configure script?

      (Z(:^

      1 Reply Last reply
      0
      • K Offline
        K Offline
        kuzulis
        Qt Champions 2020
        wrote on last edited by
        #3

        @soroush,

        You can try use some utility for patching some Qt binaries (qmake.exe, qdoc.exe, qtcode.dll and maybe something else) and text files (if needed), e.g. :

        "QtPatcher":http://stackoverflow.com/questions/2905868/change-qt-install-path-after-building

        "Qt Path Corrector":https://gitorious.org/qt-path-corrector

        Or take sources from official "Qt Installer Framework":http://qt.gitorious.org/qt-labs/installer-framework/trees/master/src/libs/installer

        1 Reply Last reply
        0
        • S Offline
          S Offline
          soroush
          wrote on last edited by
          #4

          [quote author="sierdzio" date="1357984459"]Have you compiled with "-prefix $PWD/qtbase" or "-developer-build" flags passed to configure script?[/quote]

          No. I just do a "-prefix=/path/to/another/partition" with no -developer-build. I realized that headers are not present in include directory. Do I need a reconfigure+recompile? It takes about 20 hours on my PC :(

          [quote author="kuzulis" date="1357986300"]@soroush,

          You can try use some utility for patching Qt binary and text files, e.g. :

          "QtPatcher":http://stackoverflow.com/questions/2905868/change-qt-install-path-after-building

          "Qt Path Corrector":https://gitorious.org/qt-path-corrector

          Or take sources from official "Qt Installer Framework":http://qt.gitorious.org/qt-labs/installer-framework/trees/master/src/libs/installer

          [/quote]

          I have no idea what Intstaller Framework is. Let me try and post resluts.

          Thanks

          1 Reply Last reply
          0
          • K Offline
            K Offline
            kuzulis
            Qt Champions 2020
            wrote on last edited by
            #5

            Try use "Qt Path Corrector" - it is simple console application (I'm is author) to patching binaries.

            I successfully use it to patch binaries on Windows for Qt5-betaX.

            1 Reply Last reply
            0
            • L Offline
              L Offline
              lgeyer
              wrote on last edited by
              #6

              See also http://lists.qt-project.org/pipermail/development/2012-December/008925.html and http://lists.qt-project.org/pipermail/development/2013-January/008960.html

              1 Reply Last reply
              0
              • S Offline
                S Offline
                soroush
                wrote on last edited by
                #7

                Ok, I tried QtPatcher. It speaks French [?]. I can't see what the error message is about:

                !http://s3.picofile.com/file/7617658488/error_patcher.png(error)!

                [quote author="kuzulis" date="1357988093"]Try use "Qt Path Corrector" - it is simple console application (I'm is author) to patching binaries.

                I successfully use it to patch binaries on Windows for Qt5-betaX.[/quote]

                I have no success yet:

                @
                C:\Program Files\EBO-Qt SDK>E:\qtpathcorrector.exe patch -n "C:\Program Files\EB
                O-Qt SDK" -f C"\Program Files\EBO-Qt SDK\bin"

                Initialized scanning operation...

                Starting performing operation for file:
                'C\Program Files\EBO-Qt SDK\bin"'
                Error: Unable to open.
                @

                1 Reply Last reply
                0
                • K Offline
                  K Offline
                  kuzulis
                  Qt Champions 2020
                  wrote on last edited by
                  #8

                  @soroush,

                  You missed file name for patching, instead of:

                  bq. -f C"\Program Files\EBO-Qt SDK\bin"

                  need:

                  bq. -f C"\Program Files\EBO-Qt SDK\bin\qmake.exe"

                  Also, you missed ':' symbol :)

                  PS: First, you must make sure that target file for patching have signatures. For this need run with "scan" command.

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    soroush
                    wrote on last edited by
                    #9

                    @

                    Initialized scanning operation...

                    Starting performing operation for file:
                    'C:\Program Files\EBO-Qt SDK\bin\qmake.exe'

                    Found the 11 signatures matching of current paths:

                    qt_binspath=E:/qt_5.0.0-x64/bin
                    qt_datapath=E:/qt_5.0.0-x64
                    qt_docspath=E:/qt_5.0.0-x64/doc
                    qt_hdrspath=E:/qt_5.0.0-x64/include
                    qt_impspath=E:/qt_5.0.0-x64/imports
                    qt_libspath=E:/qt_5.0.0-x64/lib
                    qt_plugpath=E:/qt_5.0.0-x64/plugins
                    qt_prfxpath=E:/qt_5.0.0-x64
                    qt_trnspath=E:/qt_5.0.0-x64/translations
                    qt_tstspath=E:/qt_5.0.0-x64/tests
                    qt_xmplpath=E:/qt_5.0.0-x64/examples

                    Initialized patching operation...

                    New patching signatures is:

                    qt_binspath=C:\Program Files\EBO-Qt SDK\bin
                    qt_datapath=C:\Program Files\EBO-Qt SDK
                    qt_docspath=C:\Program Files\EBO-Qt SDK\doc
                    qt_hdrspath=C:\Program Files\EBO-Qt SDK\include
                    qt_impspath=C:\Program Files\EBO-Qt SDK\imports
                    qt_libspath=C:\Program Files\EBO-Qt SDK\lib
                    qt_plugpath=C:\Program Files\EBO-Qt SDK\plugins
                    qt_prfxpath=C:\Program Files\EBO-Qt SDK
                    qt_trnspath=C:\Program Files\EBO-Qt SDK\translations
                    qt_tstspath=C:\Program Files\EBO-Qt SDK\tests
                    qt_xmplpath=C:\Program Files\EBO-Qt SDK\examples
                    @

                    Though qmake still can't make Makefiles:
                    @
                    Could not find qmake configuration file win32-g++.
                    Error processing project file: C:\Users\Soroush\Workspace\test\test.pro
                    16:14:30: The process "C:\Program Files\EBO-Qt SDK\bin\qmake.exe" exited with code 3.
                    Error while building/deploying project test (kit: Desktop)
                    When executing step 'qmake'
                    @

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      soroush
                      wrote on last edited by
                      #10

                      Any idea?

                      Well, I'm trying a new compile with “-developer-build” flag set on. Unfortunately seems not possible to turn off examples in developer mode :/ It will take a lot of time to finish...

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        soroush
                        wrote on last edited by
                        #11

                        OK this is an overall summary of the error:

                        Configure Qt 5.0.0 on PC with no -developer-build flag, and with a -prefix flag set to some other location (say A).

                        Compile Qt (mingw32-make)

                        Wait about 20 hrs !

                        Install what compiled: mingw32-make install

                        Wait again! This time 2 hrs

                        Compress contents of folder A to a 7z archive and move it to another machine

                        Extract the archive, make a qt.conf in A/bin with this contents:

                        @
                        [Paths]
                        Prefix=..
                        @

                        Check output of "qmake -query". All good

                        Try to run qmake on some directory having a newly created Qt project:

                        @
                        Project ERROR: Unknown module(s) in QT: widgets gui core
                        @

                        Notes:

                        There are some absolute paths in .prl files. Do I need to correct them? They're pointing to somewhere in source code (qtbase/src) which is not present in installation directory. For example "QMAKE_PRL_BUILD_DIR = E:/x64/qt-5.0.0-mingw-webkit-x64/qtdeclarative/src/qml/"

                        I really can't see WHY paths are hard-coded into binaries. It looks like a very bad idea to me. Why it's not just like "simply reading everything from a config file"?

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

                          Do not run "make install" when you use a prefix in your build! Configure is warning against it after it finishes.

                          (Z(:^

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            soroush
                            wrote on last edited by
                            #13

                            [quote author="sierdzio" date="1358024506"]Do not run "make install" when you use a prefix in your build! Configure is warning against it after it finishes.[/quote]

                            Now I'm more confused! I remember that configure just says something like: "All ready, now run mingw32-make"

                            Should I move ALL SOURCE CODE OF QT + TEMPORARY OBJECTS ? About 5 GB s of data?

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

                              Hm, maybe that is because I'm always doing a local prefix (just as -developer-build does, it prefixes to $PWD), so it's only my case that does not require installing. I am not absolutely sure and I don't want to force you to spend another 20 hours for compilation (is getting a machine with 4 cores out of the question, by the way? It shortens the compilation down to about 30 minutes).

                              From configure's help:
                              [quote]-prefix <dir> ...... This will install everything relative to <dir>[/quote]

                              Once configure step finishes, this is the code that displays the final message:
                              @
                              echo Qt is now configured for building. Just run '$MAKE'.
                              if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then
                              echo Once everything is built, Qt is installed.
                              echo You should not run '$MAKE install'.
                              else
                              echo Once everything is built, you must run '$MAKE install'.
                              echo Qt will be installed into $QT_INSTALL_PREFIX
                              fi
                              @

                              Well, you have to decide what to do. As I've said, I don't want to force you down a wrong path.

                              (Z(:^

                              1 Reply Last reply
                              0
                              • S Offline
                                S Offline
                                soroush
                                wrote on last edited by
                                #15

                                Qt needs a better build system. With all my respect to developer team, I should say that I think they made a mess about deployment/configuration and build system. There should be some clean configure/build system just like Kernel's one :{

                                I spent two days struggling for such a simple task! This is not desired at all. This SHOULD be changed in future releases I believe :|

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

                                  There has been a lot of talk about this on development mailing list recently. I'm not sure anything as such will change, as the bottom line is: don't move installations about, and if you do, qt.conf should be enough. Clearly, it is not. And documentation also seems to be lacking.

                                  This is not, however, a problem that affects users of applications developed with Qt. It's only hard for us developers, especially when one is not experienced in these matters. So there is not much pressure in that direction. Developers are expected to install precompiled packs, or compile locally on every platform, without moving stuff about.

                                  (Z(:^

                                  1 Reply Last reply
                                  0
                                  • S Offline
                                    S Offline
                                    soroush
                                    wrote on last edited by
                                    #17

                                    Ahh... The 20 hrs is not a problem for me. Though I have more restrictions, I have 4 GB free space on my only Windows partition of laptop. Considering all the Ruby+Perl+Source+Compiled Objects. certainly can't compile Qt5 on laptop. It's too bad...

                                    I talked some people around about the issue. They all have similar problems with moving Qt. General idea is not to move Qt at all. Some others prefer to follow some conventions like "Qt should always live at C:/Qt_x.y.z/" , "MinGW should always be at C:/mingw/" to make it possible to move Qt away

                                    Somebody should start a new playground to port configuration and build stuff to something new.

                                    Marking thread as UNSOLVED anyway...

                                    1 Reply Last reply
                                    0
                                    • U Offline
                                      U Offline
                                      utcenter
                                      wrote on last edited by
                                      #18

                                      Just use the mingw build from here : http://qt-project.org/forums/viewthread/23002/

                                      It works out of the box, plus you don't need visual studio, no perl, no python, which will be good since you are on tight space constrains. It seems it is not perfect, but perfectly usable, you can still compile the projects on another machine with another Qt build and compiler before you distribute.

                                      1 Reply Last reply
                                      0
                                      • S Offline
                                        S Offline
                                        soroush
                                        wrote on last edited by
                                        #19

                                        [quote author="utcenter" date="1358049568"]Just use the mingw build from here : http://qt-project.org/forums/viewthread/23002/

                                        It works out of the box, plus you don't need visual studio, no perl, no python, which will be good since you are on tight space constrains. It seems it is not perfect, but perfectly usable, you can still compile the projects on another machine with another Qt build and compiler before you distribute.[/quote]

                                        Thanks for the link, though I need my own compile. Because it has DBus and it's optimized. It's already compiled with MinGW-builds package.

                                        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