Hello Community,

Disclaimer: I repost this here from the official Qt Forum, as I didn't get answer there.

I am trying to deploy a Qt program using the qt_generate_deploy_app_script command and pack it up as RPM according to the instructions here: https://www.qt.io/blog/deploying-to-linux-with-cmake.

It seems to me, that the Qt deployment script does not work with the changed destination for installing, that is set by cpack.

I added a minimal program that illustrates the problem below. I am using Qt 6.7.2 on RHEL 9.2.

Thanks for any help,
Ralf

Steps to reproduce:

Qt Code:
  1. mkdir build
  2. cd build
  3. ~/Qt/Tools/CMake/bin/cmake -DCMAKE_PREFIX_PATH=~/Qt/6.7.2/gcc_64/ ..
  4. make
  5. make package
To copy to clipboard, switch view to plain text mode 

The error is the following:


CMake Error at <HOME>/Qt/6.7.2/gcc_64/lib/cmake/Qt6Core/Qt6CoreDeploySupport.cmake:139 (file):
file RPATH_SET given FILE
"/usr/plugins/egldeviceintegrations/libqeglfs-emu-integration.so" that does
not exist.



main.cpp

Qt Code:
  1. #include <QDebug>
  2. #include <QApplication>
  3.  
  4. int main(int argc, char *argv[]) {
  5. QApplication app(argc, argv);
  6. qDebug() << "Hello World";
  7. }
To copy to clipboard, switch view to plain text mode 


CMakeLists.cpp

Qt Code:
  1. cmake_minimum_required(VERSION 3.29.3)
  2.  
  3. project(helloworld VERSION 0.1 LANGUAGES CXX)
  4.  
  5. set(CMAKE_CXX_STANDARD 17)
  6. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  7.  
  8. find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)
  9.  
  10. qt_standard_project_setup()
  11.  
  12. qt_add_executable(helloworld main.cpp)
  13.  
  14. target_link_libraries(helloworld PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets)
  15.  
  16. install(TARGETS helloworld)
  17.  
  18. qt_generate_deploy_app_script(
  19. TARGET helloworld
  20. OUTPUT_SCRIPT deploy_script
  21. NO_TRANSLATIONS
  22. NO_COMPILER_RUNTIME
  23. NO_UNSUPPORTED_PLATFORM_ERROR
  24. )
  25. install(SCRIPT ${deploy_script})
  26.  
  27. set(CPACK_GENERATOR RPM)
  28. include(CPack)
To copy to clipboard, switch view to plain text mode