Comments (12)
You're right, sincere apologies. I was so puzzled by the message that I was certain it's from the AppImage runtime.
And many thanks for your help!
from go-appimage.
Guessed qt_prfxpath to be /usr/lib/aarch64-linux-gnu/qt5
This is the issue. It is wrong (assumig you want Qt6). We need to fx it. Volunteers?
This whole guessing is not reliable. What would be a more robust way to know which Qt to use, and from where?
from go-appimage.
That is a good question, I navigated the Qt folders a bit and it all looks like a bunch of mess. But it does work. How do the Qt .so libraries know where to look for plugins? They're not in the same parent folders as is the case on Windows.
> qmake -v
Using Qt version 6.4.2 in /usr/lib/aarch64-linux-gnu
> ldd bin/myapp
libQt6Gui.so.6 => /lib/aarch64-linux-gnu/libQt6Gui.so.6 (0x0000007fa97a0000)
libQt6Core.so.6 => /lib/aarch64-linux-gnu/libQt6Core.so.6 (0x0000007fa92b0000)
So the question is, as far as I understand, how to locate the plugins. They're not in /usr/lib/aarch64-linux-gnu/
but instead in /usr/lib/aarch64-linux-gnu/qt6/
.
from go-appimage.
How do the Qt .so libraries know where to look for plugins?
The string qt_prfxpath
is hardcoded in one of the Qt .so libraries. It's pretty much under-documented, though.
And sometimes, it's even outright wrong.
from go-appimage.
Okay, judging from the appimagetool
s log the string says just /usr
, that's wrong as there are no plugins there. But somehow Qt works fine.
from go-appimage.
Black magic!
from go-appimage.
So the question is, as far as I understand, how to locate the plugins. They're not in /usr/lib/aarch64-linux-gnu/ but instead in /usr/lib/aarch64-linux-gnu/qt6/.
... but currently go-appimage (wrongly)
Guessed qt_prfxpath to be /usr/lib/aarch64-linux-gnu/qt5
from go-appimage.
All I can tell you at the moment is that the bug is somewhere in
go-appimage/src/appimagetool/appdirtool.go
Lines 1471 to 1490 in 53294ec
from go-appimage.
In the meantime, try export QTDIR=/usr/lib/aarch64-linux-gnu/qt6/
before running linuxdeployqt
. Do this on a new AppDir (one which linuxdeployqt
was never run on before).
from go-appimage.
As for the code: you take the 1st result which happened to be qt5 (or it will always be qt5 based on alphabetical sorting), instead you should check whether it's Qt5 or 6 - you already know that Qt 6 is required.
I'm not a fan of writing even more complex fragile heuristics, but in this case seems inevitable as the current solution simply doesn't support Qt 6 .
Upd: or you can remove the guessing altogether and require QTDIR
to be defined if qt_prfxpath does not contain "plugins".
from go-appimage.
In the meantime, try
export QTDIR=/usr/lib/aarch64-linux-gnu/qt6/
before runninglinuxdeployqt
.
That worked! The correct paths are in the log now, and the AppImage size is reduced. However, it still doesn't run:
Failed to load the image at
Press any key to exit.
Any ideas? What can I do to troubleshoot this?
from go-appimage.
Is that message coming from your program?
from go-appimage.
Related Issues (20)
- Properly handle SDL2 HOT 4
- AppStream validator gives wrong results and can't be disabled HOT 19
- 'Invalid desktop file' with exit status 1 on Debian HOT 3
- provide persistent releases HOT 10
- [Question] What to say to app dev when "is not a proper AppImage", "too short" ? HOT 18
- Howto for users is missing. HOT 3
- Appimages won't work with fuse3 unless fusermount is symlinked to fusermount3 HOT 4
- How to launch without FUSERMOUNT_PROG variable? HOT 5
- appimagetool don't bundle `immodules.cache` neither set `GTK_IM_MODULE_FILE` HOT 1
- appimagetool don't configure `loaders.cache` HOT 5
- Crash when application has .svg instead of .png icon HOT 4
- Question/Feature Request: Is the "Applications" directory required? HOT 2
- Stack overflow gathering libs HOT 9
- Fuse error on latest build on Ubuntu 20.04. Build 823 works fine HOT 7
- Crash with QFileDialog HOT 1
- Compatible with `linuxdeployqt` parameters ? HOT 1
- Does not work on Debian 12 HOT 8
- Lacking support for typing characters with diacritics HOT 1
- Trying to use go-appimage to deploy, no internet connection? HOT 4
- UDisks showexec issue on zfs HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-appimage.