FS#52212 - [mypaint] Required icon(s) missing

Attached to Project: Community Packages
Opened by Earnestly (Earnest) - Tuesday, 20 December 2016, 11:57 GMT
Last edited by Sergej Pupykin (sergej) - Friday, 23 December 2016, 13:39 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sergej Pupykin (sergej)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

With mypaint 1.2.0 I get the following error when trying to execute it:

% mypaint
INFO: mypaint: Installation layout: conventional POSIX-like structure with prefix u'/usr'
INFO: lib.i18n: POSIX: LANG='en_GB.UTF-8'
INFO: lib.i18n: POSIX: LANGUAGE=None

** (mypaint:2268): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
ERROR: gui.application: Missing icon 'mypaint': check that mypaint icons have been installed into /usr/share/icons
Traceback (most recent call last):
File "/usr/share/mypaint/gui/application.py", line 126, in _init_icons
pixbuf = icon_theme.load_icon(icon_name, 32, 0)
Error: gtk-icon-theme-error-quark: Icon 'mypaint' not present in theme Adwaita (0)
ERROR: gui.application: Missing icon 'mypaint-brush-symbolic': check that librsvg is installed, and update loaders.cache
Traceback (most recent call last):
File "/usr/share/mypaint/gui/application.py", line 126, in _init_icons
pixbuf = icon_theme.load_icon(icon_name, 32, 0)
Error: gtk-icon-theme-error-quark: Icon 'mypaint-brush-symbolic' not present in theme Adwaita (0)
CRITICAL: gui.application: Required icon(s) missing
ERROR: gui.application: Icon search path: ['/home/earnest/local/data/icons', '/home/earnest/.icons', '/usr/local/share/icons', '/usr/share/icons', '/usr/local/share/pixmaps', '/usr/share/pixmaps', '/usr/share/icons']
ERROR: gui.application: Mypaint can't run sensibly without its icons; please check your installation. See https://gna.org/bugs/?18460 for possible solutions.

And even though librsvg is installed, mypaint isn't able to find its icon under /usr/share/icons/hicolor/scalable/actions/mypaint-brush-symbolic.svg
This task depends upon

Closed by  Sergej Pupykin (sergej)
Friday, 23 December 2016, 13:39 GMT
Reason for closing:  Fixed
Comment by Sergej Pupykin (sergej) - Thursday, 22 December 2016, 17:39 GMT
Does
sudo gtk-update-icon-cache -tf /usr/share/icons/hicolor
fix this problem?
Comment by Earnestly (Earnest) - Thursday, 22 December 2016, 18:34 GMT
Hmm, It does fix the problem.

I wonder why the hooks didn't cover this? Or perhaps something was just corrupt on my end...?
Comment by Sergej Pupykin (sergej) - Thursday, 22 December 2016, 18:38 GMT
It is strange, but I see all icons and have no "ERROR: gui.application: Mypaint can't run sensibly without its icons; please check your installation" message.
Comment by Sergej Pupykin (sergej) - Thursday, 22 December 2016, 18:40 GMT
> Icon search path: ['/home/earnest/local/data/icons', '/home/earnest

could you please revert XDG variables or try to run it from another (clean) user environment?
Comment by Earnestly (Earnest) - Thursday, 22 December 2016, 22:05 GMT
How would that help though? Running gtk-update-icon-cache previously already fixed the issue.

Regardless here is a shell session also demonstrating two other bugs in mypaint as it doesn't create preceeding directories, finally working as normal:

===

% unset XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME

% mypaint
INFO: mypaint: Installation layout: conventional POSIX-like structure with prefix u'/usr'
INFO: lib.i18n: POSIX: LANG='en_GB.UTF-8'
INFO: lib.i18n: POSIX: LANGUAGE=None

** (mypaint:22100): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
Traceback (most recent call last):
File "/usr/bin/mypaint", line 462, in <module>
main.main(datapath, iconspath, old_confpath, version=version)
File "/usr/share/mypaint/gui/main.py", line 225, in main
run()
File "/usr/share/mypaint/gui/main.py", line 202, in run
fullscreen = options.fullscreen,
File "/usr/share/mypaint/gui/application.py", line 223, in __init__
os.mkdir(basedir)
OSError: [Errno 2] No such file or directory: '/home/earnest/.config/mypaint'
zsh: exit 1 mypaint

% mkdir .config
mkdir: created directory '.config'

% mypaint
INFO: mypaint: Installation layout: conventional POSIX-like structure with prefix u'/usr'
INFO: lib.i18n: POSIX: LANG='en_GB.UTF-8'
INFO: lib.i18n: POSIX: LANGUAGE=None

** (mypaint:22198): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
INFO: gui.application: Created basedir u'/home/earnest/.config/mypaint'
Traceback (most recent call last):
File "/usr/bin/mypaint", line 462, in <module>
main.main(datapath, iconspath, old_confpath, version=version)
File "/usr/share/mypaint/gui/main.py", line 225, in main
run()
File "/usr/share/mypaint/gui/main.py", line 202, in run
fullscreen = options.fullscreen,
File "/usr/share/mypaint/gui/application.py", line 223, in __init__
os.mkdir(basedir)
OSError: [Errno 2] No such file or directory: '/home/earnest/.local/share/mypaint'
zsh: exit 1 mypaint

% mkdir .local/share
mkdir: created directory '.local'
mkdir: created directory '.local/share'

% mypaint
INFO: mypaint: Installation layout: conventional POSIX-like structure with prefix u'/usr'
INFO: lib.i18n: POSIX: LANG='en_GB.UTF-8'
INFO: lib.i18n: POSIX: LANGUAGE=None

** (mypaint:22250): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
INFO: gui.application: Created basedir u'/home/earnest/.local/share/mypaint'
INFO: gui.application: Created data subdir u'/home/earnest/.local/share/mypaint/backgrounds'
INFO: gui.application: Created data subdir u'/home/earnest/.local/share/mypaint/brushes'
INFO: gui.application: Created data subdir u'/home/earnest/.local/share/mypaint/scratchpads'
INFO: gui.brushmanager: Merging upstream brush changes into your collection.
INFO: gui.device: New device 'USB Keyboard' (GDK_SOURCE_MOUSE, axes:4, class=X11DeviceXI2, vendor='04d9', product='a0cd')
INFO: gui.device: New device 'TPPS/2 IBM TrackPoint' (GDK_SOURCE_TRACKPOINT, axes:2, class=X11DeviceXI2, vendor='0002', product='000a')
INFO: gui.device: New device 'Virtual core XTEST pointer' (GDK_SOURCE_MOUSE, axes:2, class=X11DeviceXI2, vendor=None, product=None)
INFO: gui.document: Initialized background from u'/usr/share/mypaint/backgrounds/10_soft_yellow.png'
WARNING: gui.keyboard: Ignoring keybinding for '<Actions>/BrushModifierActions/BlendModeMenu'

(mypaint:22250): Gtk-WARNING **: Theme parsing error: <data>:5:50: The style property GtkMenuBar:internal-padding is deprecated and shouldn't be used anymore. It will be removed in a future version
WARNING: gui.accelmap: Not listing '<Actions>/DocumentActions/RotateLeft' (no tooltip, fix before release!)
WARNING: gui.accelmap: Not listing '<Actions>/DocumentActions/RotateRight' (no tooltip, fix before release!)
/usr/lib/python2.7/site-packages/pygtkcompat/pygtkcompat.py:180: TypeError: Passing arguments to gi.types.Boxed.__init__() is deprecated. All arguments passed will be ignored.
rect = Gdk.Rectangle(0, 0, 0, 0)
INFO: lib.document: save_ora: u'/home/earnest/.local/share/mypaint/scratchpads/.tmpsave.autosave.ora' (None, {'feedback_cb': <function gtk_main_tick at 0x7f57447965f0>, 'save_srgb_chunks': True})
INFO: lib.document: 0.085s save_ora total
INFO: gui.filehandling: Saved to u'/home/earnest/.local/share/mypaint/scratchpads/autosave.ora'
Comment by Sergej Pupykin (sergej) - Friday, 23 December 2016, 10:19 GMT
I looked into /usr/lib/pacman/hooks/gtk-update-icon-cache

while read -r f; do
if [[ -e ${f}index.theme ]]; then
gtk-update-icon-cache -q "$f"
elif [[ -d $f ]]; then
rm -f "${f}icon-theme.cache"
rmdir --ignore-fail-on-non-empty "$f"
fi
done

it looks like it does not call gtk-update-icon-cache if there was no /usr/share/icons/.../index.theme

My be it is missing dependency on hicolor-icon-theme package.
Comment by Sergej Pupykin (sergej) - Friday, 23 December 2016, 13:38 GMT
I've added hicolor-icon-theme to deps, so it should not happen anymore.

Loading...