Skip to content
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

No icons display in Inkscape, causes crash on opening dialogs #68185

Closed
rileyinman opened this issue Sep 6, 2019 · 8 comments · Fixed by #68287
Closed

No icons display in Inkscape, causes crash on opening dialogs #68185

rileyinman opened this issue Sep 6, 2019 · 8 comments · Fixed by #68287

Comments

@rileyinman
Copy link
Contributor

Describe the bug
After installing inkscape either in the user or system profile, no icons are found. When opening dialogs such as "Fill and stroke" or "Layers" the program crashes. I've confirmed this on two of my machines.

To Reproduce
Steps to reproduce the behavior:

  1. nix-shell -p inkscape
  2. Run inkscape
  3. Note that all icons display incorrectly
  4. Navigate to Object -> Fill and Stroke
  5. Observe crash

Expected behavior
Inkscape should have the full set of icons and dialogs should be accessible.

Screenshots
2019-09-06-01:19:08

Additional Context

Console log
[~] inkscape
terminate called after throwing an instance of 'Gtk::IconThemeError'

Emergency save activated!
Emergency save completed. Inkscape will close now.
If you can reproduce this crash, please file a bug at www.inkscape.org
with a detailed description of the steps leading to the crash, so we can fix it.
zsh: abort      inkscape

Metadata

  • system: "x86_64-linux"
  • host os: Linux 4.19.69, NixOS, 19.03.173408.bd6ba87381e (Koi)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.2.2
  • channels(root): "nixos-19.03.173408.bd6ba87381e"
  • channels(riley): ""
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos
@worldofpeace
Copy link
Contributor

I think you can easily fix this issue by installing an icon theme to your system.

@FRidh FRidh added 0.kind: regression Something that worked before working no longer and removed 0.kind: regression Something that worked before working no longer labels Sep 6, 2019
@jtojnar
Copy link
Contributor

jtojnar commented Sep 6, 2019

I believe these icons are part of Inkscape. Possibly issue with gdk-pixbuf loaders – though, I cannot reproduce it within plain xterm session.

What desktop environment are you running? Does adding wrapGAppsHook to Inkscape’s nativeBuildInputs help?

@rileyinman
Copy link
Contributor Author

@jtojnar Sorry, I should have mentioned - I already tried the following overlay for inkscape

self: super:
{
  inkscape = super.inkscape.overrideAttrs(old: rec {
    nativeBuildInputs = old.nativeBuildInputs ++ [ super.wrapGAppsHook ];
    buildInputs = old.buildInputs ++ [ super.gdk_pixbuf ];
  });
}

after reading the gdk-pixbuf issue and related ones. Unfortunately it didn't seem to change anything after rebuilding and compiling.

One of my computers is running sway (launched via startx) and the other i3 + sddm.

@symphorien
Copy link
Member

Maybe wrapGAppsHook does not work because of strictDeps:

@rileyinman
Copy link
Contributor Author

rileyinman commented Sep 6, 2019

@symphorien That worked! I added strictDeps = false to the overlay and all the icons show up, and dialogs work. I tried looking up docs on strictDeps but I couldn't find much about it, what does it do exactly?

@worldofpeace
Copy link
Contributor

😕 I thought the issue with strictDeps only touched gobject-introspection

@jtojnar
Copy link
Contributor

jtojnar commented Sep 6, 2019

IIRC, it might also affect hook’s deps not being picked up correctly. Does the following work with strictDeps enabled?

self: super:
{
  inkscape = super.inkscape.overrideAttrs(old: rec {
    nativeBuildInputs = old.nativeBuildInputs ++ [ super.wrapGAppsHook ];
    buildInputs = old.buildInputs ++ [ super.gdk_pixbuf super.librsvg ];
  });
}

@rileyinman
Copy link
Contributor Author

@jtojnar Yes, that worked! Would the best workaround for now be to add those inputs to the derivation?

rileyinman added a commit to rileyinman/nixpkgs that referenced this issue Sep 8, 2019
Resolves NixOS#68185.
The icons in Inkscape depend on gdk-pixbuf loaders, but because
strictDeps is set to true to fix some macOS issues it doesn't work
(see NixOS#56943). Adding librsvg to buildInputs explicitly fixes the issue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants