Page MenuHomePhabricator

CMake/mitkInstallRules.cmake set invalid install directory for QtWebEngine resources and translations in Linux
Open, LowPublic

Description

Version MITK-2018.4.99
The Ubuntu and Debian libqt5webengine-data package uses the /usr/share/qt5 directory to create resource and translation directories. CMake/mitkInstallRules.cmake (lines 140 and 143) sets these directory paths in $ {_ qmake_path}, that is, in /usr/lib /x86_64-linux-gnu/qt5/bin .
I have created a MITK project using MITK-ProjectTemplate. When I execute make package in my superbuild/build project directory I get these errors:

CMake Error at /home/jose/mitk/qtprojects/new_Amos/AmosWorkbenchproject-superbuild/AmosWorkbenchproject-build/cmake_install.cmake:102 (file):

file INSTALL cannot find "/usr/lib/x86_64-linux-gnu/qt5/bin/../resources":
No such file or directory.

CMake Error at /home/jose/mitk/qtprojects/new_Amos/AmosWorkbenchproject-superbuild/AmosWorkbenchproject-build/cmake_install.cmake:106 (file):

file INSTALL cannot find
"/usr/lib/x86_64-linux-gnu/qt5/bin/../translations/qtwebengine_locales": No
such file or directory.

Event Timeline

kislinsk added a subscriber: kislinsk.

Thanks for the report. The complete packaging will be rewritten soon. Until then we strongly recommend to not use system Qt but to install Qt (version 5.12.9 is a good choice) with the official qt installer and to use Qt5_DIR to hint our CMake scripts to the lib/cmake/Qt5 directory. Don't forget to install the optional packages Qt Web Engine and Qt Script.

I found a similar error using Qt version 5.12.6 and the pluginGenerator.
The linker's path to Qt5WebEngine is wrongly parsed as "-lQt5::WebEngine" in "MyProject/Apps/MyApp/CMakeFiles/MyApp.dir/link.txt".

I could find a walkaround by adding "find_package(Qt5WebEngine REQUIRED)" in the CMakeLists of the project and setting the correct path.