appimage-packages / marble

Appimage packaging for KDE Marble
https://s3-eu-central-1.amazonaws.com/ds9-apps/marble-master-appimage/marble-git20170202-x86_64.AppImage
1 stars 0 forks source link

Map stays black #1

Open probonopd opened 7 years ago

probonopd commented 7 years ago

Can successfully launch marble-git01182017-x86_64.AppImage on xubuntu-16.04-desktop-amd64.iso but the window where the map should be just stays black.

me@host:~$ /home/me/Downloads/marble-git01182017-x86_64.AppImage 
inotify_add_watch("/root/.local/share/marble/maps") failed: "Permission denied"
inotify_add_watch("/maps") failed: "No such file or directory"
Map theme file does not exist: ""
No plugins loaded. Please check if the plugins were installed in the correct path, or if any errors occurred while loading plugins.
Falling back to default theme: "earth/srtm/srtm.dgml"
Map theme file does not exist: ""
Couldn't find a valid DGML map.
probonopd commented 7 years ago
./marble-git20170202-x86_64.AppImage 
(...)
inotify_add_watch("/maps") failed: "No such file or directory"
Map theme file does not exist: ""
No plugins loaded. Please check if the plugins were installed in the correct path, or if any errors occurred while loading plugins.
Falling back to default theme: "earth/srtm/srtm.dgml"
Map theme file does not exist: ""
Couldn't find a valid DGML map.

The relevant strace part seems to be:

[pid  8789] open("/home/me/.marble/plugins", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  8789] stat("/opt/usr/lib/marble/plugins", 0x7fff1c341b10) = -1 ENOENT (No such file or directory)
[pid  8789] stat("/opt/usr/lib/marble/plugins", 0x7fff1c341b90) = -1 ENOENT (No such file or directory)
[pid  8789] write(2, "No plugins loaded. Please check "..., 132No plugins loaded. Please check if the plugins were installed in the correct path, or if any errors occurred while loading plugins.

Further investigation shows:

$ grep -r "/opt/usr/lib/marble/plugins" /tmp/.mount_o5WAp5
Binary file /tmp/.mount_o5WAp5/lib/libmarblewidget-qt5.so.27 matches

So we do:

$ strings /tmp/.mount_o5WAp5/lib/libmarblewidget-qt5.so.27 | grep "/opt"
/opt/usr/share/marble/data
/opt/usr/lib/marble/plugins

Looks like libmarblewidget needs to be changed to search for these paths relative to itself rather than in a compile-time/hardcoded location at /opt.