Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Offline-installer 'make install' equivalent?



  • Please pardon what seems a very basic question but I don't quite understand the offline installer process. I'm developing Qt apps under Ubuntu 18.04..03 I've downloaded and run qt-opensource-linux-x64-5.14.2.run, which created and filled directory $HOME/Qt5.14.2. That directory contains lots of files including .so files and tools such as qtcreator. When I launch qtcreator I get:

    Cannot update Qt version information: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake cannot be run.
    

    So what is the process to copy (i.e. "install") qmake to that /usr/lib directory? Do I somehow 'make install' from somewhere in the Qt5.14.2 directory structure? Likewise when I compile and link my own Linux applications, do I need to set PATH, LD_LIBRARY_PATH, etc to locations in $HOME/Qt5.14.2 for headers and include files, as well as bin subdirectories for qtcreator and qmake? Or is there the equivalent to 'make install' that copies libraries and tools to /usr/local?
    Thanks very much!


  • Lifetime Qt Champion

    Hi,

    Don't try to do that. Something seems off with your distribution provided Qt. Look what it is about. However, never try to replace your distribution provided Qt with the one of the installer. These are meant for application development not to replace what your distribution provide.



  • @SGaist - so I just ran 'sudo apt-get install qt5-default', started qtcreator provided by offline-installer, and no longer see the error about qmake. Now I am trying to configure a QtQuick project and qtcreator gives error

    Project ERROR: Unknown module(s) in QT: quick
    

    So my basic misunderstanding is this - am I missing QtQuick at the distribution level or at the offline-installer level? Man, I am confused...
    Thanks!


  • Lifetime Qt Champion

    You are using your distribution provided Qt therefore it's at the distribution level.



  • @SGaist - Thanks! To ensure that I am using distribution-provided components I installed qtcreator:

    sudo apt install qtcreator
    

    I also tried to install qml-module-qtquick-controls - apparently it is already installed:

    etna:~$ sudo apt install qml-module-qtquick-controls
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    qml-module-qtquick-controls is already the newest version (5.9.5-0ubuntu1).
    The following packages were automatically installed and are no longer required:
      gir1.2-geocodeglib-1.0 libfwup1 ubuntu-web-launchers
    Use 'sudo apt autoremove' to remove them.
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    

    But qtcreator (distribution-provided) still says

    Project ERROR: Unknown module(s) in QT: quick
    

    Because myproject.pro includes "QT += quick".
    How do I make qtcreator find "quick"?

    Thanks
    Tom


  • Lifetime Qt Champion

    You did not install the corresponding development package. Search for the -dev variants of them.



  • @SGaist said in Offline-installer 'make install' equivalent?:

    never try to replace your distribution provided Qt with the one of the installer. These are meant for application development not to replace what your distribution provide.

    In my case I want to distribute an application that uses Qt DataVisualization. I distribute the app to my users with an autoconf configure file, which looks in "standard" locations for third-party headers and libraries. However I cannot find any qtdatavisualization packages provided by Ubuntu or MacOS distribution, which seem a bit behind the latest Qt. As a compromise I can ask my users to download the latest Qt source - but that usually winds up in a specific user directory /home/somebody rather than a standard location like /usr/local.
    So what's the best approach in this case? If I don't copy directories from the Qt source distribution, what should I do to "convince" autoconf to find the headers and libraries? I guess the configure file could expect the user to set an environment variable (QT_SRC_HOME?) - what's best practice here?
    Thanks!


  • Lifetime Qt Champion

    @Tom-asso said in Offline-installer 'make install' equivalent?:

    I want to distribute an application

    You want to distribute your application as source code?



  • @jsulm - Yes, I want to distribute my application as source code, but not distribute the Qt sources that I build with. I will require the user to download Qt source separately.


  • Lifetime Qt Champion

    @Tom-asso There is no need to distribute or download Qt sources to build your application. You can ask your users to download the same Qt version (SDK, not source code) you used to build the application. What Qt did you actualy use to build your app and how did you install it?


Log in to reply