Hello, I made a Qt 6.8.2 C++ widget application, which builds fine using Qt Creator 15 on my dev machine, which is Ubuntu 24.04 with X11 and has Qt version 5.15. I didn’t manage to create a working deployment binary from that dev machine, using linuxdeploy, I was thinking that it was because of its Qt version 5. Then I installed Fedora KDE that has Qt version 6, but my first trial with linuxdeploy has errors on lots of libraries saying eg.
Calling strip on library AppDir/usr/lib/lib/libkeyutils.so.1
ERROR: Strip call failed: /tmp/.mount_linuxdbgFAdA/usr/bin/strip: AppDir/usr/lib/libkeyutils.so.A: unknown type [0x13] section `.relr.dyn'
/tmp/.mount_linuxdbdFAfA/usr/bin.strip: unable to recognise the format of the input file `AppDir/lib/libkeyutils.so.1'
I also have problems with the application icon, I have a png file for that but apparently the desktop file wants only a icon name, but I didn’t find where to put my file so that the AppDir uses it
Maybe is there a better way to deploy a binany, it’s my first application so I never did that before. For the moment the Windows version deployment works fine, to create it I used a command line called windowsdeployqt that gather the libs, then I use Qt Installer framework to create the installer binary. I was hoping to use a linux application called “linuxdeployqt” but I wasn’t able to use it, it said my current OS version is too recent, then I tried linuxdeploy but with no success for the moment.
I created a post to ask for help to deploy my application on Qt forum, but even if I put all the things I tried on it, it had absolutely no response, so maybe I could get some responses here.
You maybe mismatch linuxdeploy project, there is one that brings Linux to Android, but the other one (here) creates an appimage directory for a binary and its desktop file. My project (here) was Qt6 from the beginning, it was my first Qt and C++ project.
Yes I’m reading about copr service, indeed any deployment system that works on all linux distributions will be great, or I could if needed build several. My problem is to gather all needed ressources (libraries), dependencies.
Apparently what I’m missing is a way to bundle libraries. My use case is simple, I have a project that builds with a CMake file (I open it as a project on Qt Creator 15 and it builds a binary file. I add a desktop file that targets on that binary file and an icon (I still don’t know how to specify my application icon correctly). To obtain the dependencies, is a ldd enough ? I first tried doing like that, putting my binary file and all libraries that ldd returns for the binary file, but with it didn’t work for the moment.
If you are going to make a flatpak/appimage then you need to include the deps, but if you use an RPM you do include the deps as they are supplied by Fedora from other RPMs.