Important: Please read the Qt Code of Conduct -

Qt5LinguistToolsConfig.cmake doesn't exist...

  • Hello,

    I'm trying to compile lxqt on a Debian-based system, and it's looking for a file called Qt5LinguistToolsConfig.cmake, which it believes should reside in the lib/cmake directory. However, I don't see this file there. The closest I've found was: qttools/src/linguist/

    I followed the guide for building qt5 from Git, and I'm unsure why this file didn't build. Any help would be appreciated.

    The wiki page on building qt5 from Git recommends appending the configure option, "-nomake examples"; the rationale is to reduce the amount of time it takes to build. However, this option prevents Qt5LinguistToolsConfig.cmake (which can be found in qtbase/lib/cmake/Qt5LinguistTools) from being built at all, and I imagine that some others aren't able to build, either. My solution requires following the README instructions verbatim (obviously changing the opensource license if necessary):

    ./configure -prefix $PWD/qtbase -opensource -nomake tests

    and followed by make -j4
    I successfully built it from the source tarball (mentioned below). I assume the results would be the same if one used the Git source.

    The -nomake examples phrase, supposedly, shouldn't influence whether or not this .cmake tool is built, so I'm wondering why it made the difference on my system.

  • Lifetime Qt Champion


    Since you build Qt yourself, can you share the configure options you used ?

  • Having followed the Git build instructions, I ran configure with the following options:

    ./configure -developer-build -opensource -nomake examples -nomake tests

  • Lifetime Qt Champion

    What do you have in your lib/cmake folder ?

    Note that you should rather do out of source builds, that will keep it clean and you can easily nuke the folder and start anew in case of a problem.

  • $ ls qtbase/lib/cmake
    Qt5            Qt5DBus     Qt5Nfc               Qt5Purchasing  Qt5QuickWidgets   Qt5Sensors     Qt5Svg            Qt5Widgets      install
    Qt5Bluetooth   Qt5Gamepad  Qt5OpenGL            Qt5Qml         Qt5RemoteObjects  Qt5SerialBus   Qt5Test           Qt5X11Extras
    Qt5Concurrent  Qt5Gui      Qt5OpenGLExtensions  Qt5Quick       Qt5RepParser      Qt5SerialPort  Qt5WaylandClient  Qt5Xml
    Qt5Core        Qt5Network  Qt5PrintSupport      Qt5QuickTest   Qt5Scxml          Qt5Sql         Qt5WebSockets     Qt5XmlPatterns

    By "source builds," do you mean this?

    EDIT: I compiled it from the 32-bit tarball, and used the configure command noted in the readme, but also adding the -nomake examples line:

    ./configure -prefix $PWD/qtbase -opensource -nomake tests -nomake examples

    and ls <qt5-directory>/qtbase/lib/cmake returned the same results as above. I would have run the precompiled binary, but the only available one for 32-bit contained qt5.5, and lxqt requires >=5.6.1.

    I'd really like to know if it is even possible to just compile that one tool independently.

    EDIT 2: With solution
    After I read what I wrote, I removed the -nomake examples phrase so that it would match exactly what the readme said, and when I looked in the directory, I saw the newly-created QT5LinguistTools folder, containing the file I have been searching for. The rationale behind omitting examples, according to whoever authored the Github page, is to speed-up the build process (which is usually a desired behavior). Looks like I'll be sending some information to the Qt Github tutorial's author.

    Thank you for your help.

  • Lifetime Qt Champion

    The -nomake examples option should have no influence in the matter. I'm never building with the examples and the linguist related cmake files are generated properly.

  • @SGaist said in Qt5LinguistToolsConfig.cmake doesn't exist...:

    The -nomake examples option should have no influence in the matter. I'm never building with the examples and the linguist related cmake files are generated properly.

    That is the strangest thing, then. I compiled QT5.9.1 and 5.9.2 several times, and that was the ONLY thing that made the difference.

Log in to reply