Deploying Qt Application on Linux
-
OK then. Run with
-verbose=3
and look at the output - perhaps there is some warning there that is important for you in this case.You can try running deploy first without appimage flag, then copy the OpenGL library manually into the package, then run linuxdeployqt again with
-appimage
.Lastly, maybe
-extra-plugins=
flag can be used to force linuxdeployqt to deploy that library.wrote on 12 Dec 2019, 04:57 last edited by sharath 12 Dec 2019, 06:33@sierdzio thank you for your support, I don't know why this shows diff errors.
./app: /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /home/ninetripod/Documents/Vistaro_linux_1.0/bin/libopencv_core.so.4.0) ./app: /lib/aarch64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /home/ninetripod/Documents/Vistaro_linux_1.0/bin/libopencv_imgproc.so.4.0) ./app: /usr/lib/aarch64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /home/ninetripod/Documents/Vistaro_linux_1.0/bin/libtbb.so.2) ./app: /lib/aarch64-linux-gnu/libz.so.1: version `ZLIB_1.2.9' not found (required by /home/ninetripod/Documents/Vistaro_linux_1.0/bin/libpng16.so.16)
-
Does the AppImage run correctly when you launch it on the original machine (same where you compile and run linuxdeployqt on)?
I don't have any further ideas.
-
Does the AppImage run correctly when you launch it on the original machine (same where you compile and run linuxdeployqt on)?
I don't have any further ideas.
wrote on 12 Dec 2019, 09:35 last edited by sharath 12 Dec 2019, 09:38@sierdzio when i run linuxdeployqt , below warning i'm getting
ninetripod@X3399:~/Documents/build-linuxdeployqt-Desktop-Debug/bin$ ./linuxdeployqt /home/ninetripod/Documents/vistaro_04_12/vistaro_build/vistaroQtQuick -appimage -unsupported-allow-new-glibc WARNING: Not checking glibc on the host system. The resulting AppDir or AppImage may not run on older systems. This mode is unsupported and discouraged. For more information, please see https://github.com/probonopd/linuxdeployqt/issues/340 app-binary: "/home/ninetripod/Documents/vistaro_04_12/vistaro_build/vistaroQtQuick" appDirPath: "/home/ninetripod/Documents/vistaro_04_12/vistaro_build" relativeBinPath: "vistaroQtQuick" Keeping existing AppRun WARNING: Plugin "/usr/lib/aarch64-linux-gnu/qt5/plugins/platformthemes/libqgtk2.so" not found, skipping WARNING: Plugin "/usr/lib/aarch64-linux-gnu/qt5/plugins/styles/libqgtk2style.so" not found, skipping WARNING: "/home/ninetripod/Documents/vistaro_04_12/vistaro_build/qt.conf" already exists, will not overwrite.
i think this is the issue i guess.
-
Does the AppImage run correctly when you launch it on the original machine (same where you compile and run linuxdeployqt on)?
I don't have any further ideas.
wrote on 12 Dec 2019, 09:49 last edited by@sierdzio said in Deploying Qt Application on Linux:
Does the AppImage run correctly when you launch it on the original machine (same where you compile and run linuxdeployqt on)?
yes it has worked correctly.
-
I don't think gtk style plugins are a problem, they have little to do with OpenGL lib.
-
wrote on 12 Dec 2019, 10:28 last edited by
@sierdzio i got to know that im building my linudeployqt on latest version of glibc, it should build on older version of glibc. so that it can be run on any newer version glibc as stated in https://github.com/probonopd/linuxdeployqt/issues/340
-
@sierdzio is there any other method to deploy qt apps on linux other than linuxdeployqt? if yes, could you please give me the steps for it.
@sharath If you read the link you posted you will find these parameters:
- -unsupported-allow-new-glibc
- -unsupported-bundle-everything
Did you try them?
-
@sierdzio is there any other method to deploy qt apps on linux other than linuxdeployqt? if yes, could you please give me the steps for it.
@sharath said in Deploying Qt Application on Linux:
@sierdzio is there any other method to deploy qt apps on linux other than linuxdeployqt? if yes, could you please give me the steps for it.
Oh sure, there are other ways. I don't have any ready-made steps for them, thought.
You can:
- create an installer using Qt Installer Framework
- create DEB package
- create RPM package
- possibly create a snap package
- possibly create a flatpak package
linuxdeployqt is by far the easiest way.
-
@sharath If you read the link you posted you will find these parameters:
- -unsupported-allow-new-glibc
- -unsupported-bundle-everything
Did you try them?
wrote on 18 Dec 2019, 06:03 last edited by sharath@jsulm Thanks for your reply.
Yes i did all these step. when i given the flag -unsupported-bundle-everything, i get below error
ERROR: runPatchelf: "" ERROR: runPatchelf: "" ERROR: runPatchelf: "warning: working around a Linux kernel bug by creating a hole of 69632 bytes in \xE2\x80\x98/home/ninetripod/Documents/Test_vistaro/lib/libc.so.6\xE2\x80\x99\n" ERROR: findDependencyInfo: "/bin/bash: error while loading shared libraries: /home/ninetripod/Documents/Test_vistaro/lib/libc.so.6: file too short\n" ERROR: getBinaryRPaths: "objdump: error while loading shared libraries: /home/ninetripod/Documents/Test_vistaro/lib/libc.so.6: file too short\n" ERROR: Error reading rpath with patchelf "libmvPropHandling.so" : "patchelf: error while loading shared libraries: /home/ninetripod/Documents/Test_vistaro/lib/libc.so.6: file too short\n"
28/28