saturneric / GpgFrontend

A free, open-source, robust yet user-friendly, compact and cross-platform tool for OpenPGP encryption. It stands out as an exceptional GUI frontend for the modern GnuPG (gpg).
https://gpgfrontend.bktus.com
GNU General Public License v3.0
473 stars 46 forks source link

missing Qt libraries, although installed - AppImage could solve this! #7

Closed edmundlaugasson closed 3 years ago

edmundlaugasson commented 3 years ago

The error message under Ubuntu 20.04 LTS, which is the latest LTS-version (Long Term Support). ./gpgfrontend: /lib/x86_64-linux-gnu/libQt5Core.so.5: versionQt_5.15' not found (required by ./gpgfrontend)`

At the same time in same system:

ls -lah /lib/x86_64-linux-gnu/|grep -i libQt5Core
-rw-r--r--   1 root root 1.3K Apr  9  2020 libQt5Core.prl
lrwxrwxrwx   1 root root   20 Apr  9  2020 libQt5Core.so -> libQt5Core.so.5.12.8
lrwxrwxrwx   1 root root   20 Apr  9  2020 libQt5Core.so.5 -> libQt5Core.so.5.12.8
lrwxrwxrwx   1 root root   20 Apr  9  2020 libQt5Core.so.5.12 -> libQt5Core.so.5.12.8
-rw-r--r--   1 root root 5.3M Apr  9  2020 libQt5Core.so.5.12.8

So, the qt5-default (not qt-default as guided at readme.md) is obviously too old version... Would suggest to search newest version of Qt, e.g. in Debian-based systems:

apt-cache search qt|grep default
qt3d-defaultgeometryloader-plugin - Qt 3D default geometry loader plugin
qt5-default - Qt 5 development defaults package

Yet another check:

file gpgfrontend 
gpgfrontend: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bc5bd7e72243f0332b83be64125e154fd92ea1f, for GNU/Linux 3.2.0, not stripped

That Qt library version issue could be solved, if AppImage version would be available for Linux. Then all dependencies would be included inside container and it can be used also in both: older and newer distros without dependency issues.

Public AppImage repositories:

Then it would be also easier for people to search apps in AppImage format at one place.

There is also AppImage Launcher, which makes launching AppImage files and creating appropriate menu item easier.

saturneric commented 3 years ago

Thank you for your feedback, I will package and release it in the near future. You can install qt to temporarily solve this problem. sudo apt install qt5-default

edmundlaugasson commented 3 years ago

That's what I mentioned - I installed that package, but it's too old, only 5.12 in Ubuntu 20.04 LTS, but 5.15 was required and app won't start. Even the latest Ubuntu 20.10 has only Qt 5.14 and not newer...

saturneric commented 3 years ago

I understand now. I will solve this problem as soon as possible. I will keep this issue open until the problem is solved. Thanks!

edmundlaugasson commented 3 years ago

Great! Same applies also other distros, e.g. Manjaro (based on Arch) is quite popular and I would also switch to Manjaro at some point. There are https://archlinux.org/packages/ for Arch and https://manjaro.org/branch-compare/ for Manjaro (also this site, which descriptions seems to be a bit outdated). Arch and its based distros are very up-to-date, there is already Qt6 available. In Manjaro, there is AppImage Launcher installed already by default. I don't even know, what package to install under Manjaro in order to run GPG Frontend app. Is it qt5-base instead of qt5-default? Although in Manjaro (also in Arch) is already qt6-base also available. Manjaro is very promising distro, as it has strong community and is rolling release, which makes using computer much more comfortable (no need to install OS again). Also software is up-to-date, lots of software available, system is more stable and solid, which is most important. There is also Gentoo Linux packages repository and other great distros. I guess AppImage would solve the challenge to run GPG Frontend under different distros.

Qt version history:

saturneric commented 3 years ago

Thank you for your suggestions. After two days of hard work, this problem was solved according to your suggestion on Linux (also including macOS). You can now download the latest released version and double-click to run GpgFrontend.

edmundlaugasson commented 3 years ago

Thank you! I hope not only me, but also others will appreciate that. Now you can much more freely keep libraries inside AppImage container up-to-date without breaking any dependency in some Linux distribution.