-
-
Notifications
You must be signed in to change notification settings - Fork 552
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SOLVED] Error running AppImage: still openssl problem #998
Comments
You need to bundle this library. The point of AppImage is to bundle an application with what it needs to run. Libraries, icons, media, configuration files, ... There is an extensive guide available that'll teach you the why and how. See https://docs.appimage.org/packaging-guide/from-source/native-binaries.html. |
Thanks, reading. However is there some simple example URL for |
You just need to run linuxdeploy as described in that guide. There's copy-paste examples near the bottom even. It'll bundle everything you need, not just openssl. If you just bundle openssl, you'll run into the next issue, and come back asking for how to bundle the rest. Just run linuxdeploy as demonstrated in https://docs.appimage.org/packaging-guide/from-source/native-binaries.html#examples, and you'll be fine. |
I'm recommending linuxdeploy not only because it's more modern and easier to use than linuxdeployqt, but also because it's natively running on CentOS 6. |
Did you mean "linuxdeployqt" for the second occurrence in that sentence? 😉 |
Will try now, do I need Also is there any example for the following flag using? Do I need to specify full path to the lib to bundle? Good for openssl lib example 😉
Or simple |
It's linuxdeploy, not linuxdeployqt. Similar naming, big difference. You only need to add that flag when you're in Docker. It's required for all AppImages to run in a Docker container. linuxdeploy is shipped as an AppImage. Therefore, yes, you need to add the flag. You don't need to use the
This is a linuxdeployqt flag. You don't need that. Please beware that when you're bundling Qt with linuxdeploy, you need the Qt plugin. Please see https://github.com/linuxdeploy/linuxdeploy-plugin-qt#plugin-mode. |
I'm trying on |
Ah no, I took |
So I have following:
Is this correct and will bundle OpenSSL automatically (openssl is installed there)? |
Yes. Just add We have quite some other plugins available as well. See https://github.com/linuxdeploy/awesome-linuxdeploy. |
Thanks! Added, building now... |
BTW, if it bundles everything needed: could it bundle |
Bundling glibc is discouraged, as it creates a lot of compatibility issues and is anything but trivial. Please see https://docs.appimage.org/introduction/concepts.html#build-on-old-systems-run-on-newer-systems for more information. There have been somewhat successful experiments to realize this, but these were all experiments, anything but stable. It's much easier and less troublesome (and also more space efficient) to just build your dependencies on older distributions. You can even get modern compilers on really old distros like CentOS 6. For instance, I'm using GCC 7 to build C++11 code on it. The linuxdeploy AppImage you use was built like that. |
yeah, moving this way for now. |
By the way, you can also join our IRC chat. #appimage on Freenode. There's a community of fellow AppImage makers and AppImage developers around who can help you. |
Error: replaced |
Again this error:
@TheAssassin You said FUSE is not necessary? |
That makes absolutely no sense, they're different options.
Oh, sorry, my bad. The issue you have is that linuxdeploy calls the Qt plugin, which is an AppImage. I already mentioned the environment variable |
So current variant:
correct now? |
As long as you |
Missed it, thanks for detailed help. Final variant:
Error again: More log:
|
We need to see the log, obviously the log message you posted just tells us that something failed, but not what failed. You're using the If you want to change the name of the resulting name, use |
Are you even using Qt? |
Yes. Libs are is in build_dir/Qt/libs, etc |
Please post the output of |
|
And still ssl error running appimage. |
Release dir structure:
|
Hmmm, |
How to add libraries: what are correct syntax for |
Please don't confuse linuxdeploy and linuxdeployqt. This question is best asked in https://github.com/linuxdeploy/linuxdeploy/issues. |
Fixed. I asked about |
The list in #998 (comment) doesn't look like it's been performed on the binary in the AppDir after linuxdeploy has run, as all the library dependencies point to system ones. The point of linuxdeploy is that it collects all dependencies from the system, copies them into your AppDir and changes the binaries so they will pick them up instead. |
Saw this afterwards. Please re-read my request above. I asked you to provide the output of Also, you're still escaping wrongly. This should've been |
Sorry, misunderstood. I run
|
Another strange thing: tried to bundle openssl manually like mentioned here linuxdeploy/linuxdeploy#29 (comment):
AppImage become much smaller: ~80MB instead of ~300MB, and error still the same: Probably will copy libs directly to |
Sure, you don't run the Qt plugin, so Qt is not bundled properly. What you're doing there makes no sense either, as you're bundling with the wrong filename. This whole copying of stuff into |
Asking for proper command whole day today. ;) How to bundle properly?
It finds as it runs following script on start: https://github.com/mavlink/qgroundcontrol/blob/master/deploy/qgroundcontrol-start.sh |
Hurray! It works! Final solution:
|
Interesting. Well, as long as you're happy... I guess, we can call it a day. |
Thanks much for Your help!!! 😊 |
Created AppImage like mentioned here: #997 with
appimagetool-x86_64.AppImage
on CentOS docker base. However have problem running AppImage in other distros:Have I missed something? Qt build options, install
openssl
in docker before build, or need to build AppImage withlinuxdeployqt
to ship `openssl-libs' within AppImage? I googled here through many issues and docs, however solution still not clear. Any suggestions please, thanks!The text was updated successfully, but these errors were encountered: