GNU bug report logs -
#60434
librsvg from Guix makes native GIMP unable to find icons
Previous Next
To reply to this bug, email your comments to 60434 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#60434
; Package
guix
.
(Fri, 30 Dec 2022 19:57:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Tirifto <tirifto <at> posteo.cz>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Fri, 30 Dec 2022 19:57:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hello! I use Guix as a supplementary package manager on OpenSUSE 15.4. I have
recently installed the package ‘librsvg’ in Guix, in order to fix a different
issue, where a different program (installed with Guix) wouldn’t show icons
without it [1]. But I noticed that doing so affects GIMP, a graphical program
installed natively in openSUSE, which can no longer show its own icons now.
The problem is solved by removing ‘librsvg’ from my Guix profile, logging out,
and logging back in. (But then, of course, the other program which needs
‘librsvg’ in my profile breaks again.)
Another solution is not to source my Guix profile in my login shell (thus
removing the appropriate line from my ‘~/.profile’ file), and to remove the
file ‘/etc/profile.d/guix.sh’, both of which seem to only define some
environment variables. (Of course, this breaks Guix’s whole integration with
the host system, so it’s not a good solution at all.) Removing only the
profile does not help.
I have observed the changes installing ‘librsvg’ made to the aforementioned
files, and to my environment:
‘guix.sh’ has not changed at all.
‘profile’ now defines the two following variables:
• XDG_DATA_DIRS
• GDK_PIXBUF_MODULE_FILE
These environment variables have been extended:
• XDG_DATA_DIRS was defined [2], now is prefixed with
‘/home/tirifto/.guix-profile/share’
• GDK_PIXBUF_MODULE_FILE was undefined, now is set to
‘/home/tirifto/.guix-profile/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache’
When I run GIMP from the command line, it prints the errors attached in ‘gimp-
errors.txt’.
When I try to unset the changed variables for GIMP, using the following
command, the icons are still absent, but it prints less errors, which are
attached in ‘gimp-errors-no-env.txt’:
XDG_DATA_DIRS='/usr/local/share:/usr/share' GDK_PIXBUF_MODULE_FILE='' gimp
When I try to unset the changed variables with ‘unset’ before I actually run
GIMP, it works as expected, with no errors printed, like so:
unset XDG_DATA_DIRS
unset GDK_PIXBUF_MODULE_FILE
gimp
I’m not sure what’s the difference between those procedures, since I don’t
understand Bash that well, but maybe it can help someone who does understand
the problem better.
Best of wishes
// Tirifto
[1] https://issues.guix.gnu.org/60205
[2] XDG_DATA_DIRS already had ‘/home/tirifto/.guix-profile/share’ in it before
it was added to the profile, presumably coming from the aforementioned
‘guix.sh’. This means I now have ‘/home/tirifto/.guix-profile/share’ twice
in my path. I assume that’s not a problem, but found it curious.
[gimp-errors.txt (text/plain, attachment)]
[gimp-errors-no-env.txt (text/plain, attachment)]
[gimp-no-icons.png (image/png, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#60434
; Package
guix
.
(Thu, 05 Jan 2023 20:55:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 60434 <at> debbugs.gnu.org (full text, mbox):
Hi,
Tirifto <tirifto <at> posteo.cz> writes:
> Hello! I use Guix as a supplementary package manager on OpenSUSE 15.4. I have
> recently installed the package ‘librsvg’ in Guix, in order to fix a different
> issue, where a different program (installed with Guix) wouldn’t show icons
> without it [1]. But I noticed that doing so affects GIMP, a graphical program
> installed natively in openSUSE, which can no longer show its own icons now.
I assume the problem comes from the fact that the host's gdk-pixbuf uses
the GDK_PIXBUF_MODULE_FILE variable that is set by Guix, and so tries to
refer to Guix's loaders rather than the host's, which don't use the same
glibc version. I don't see an easy fix for this: we could rename it to
GUIX_GDK_PIXBUF_MODULE_FILE, but that's likely a world rebuild. In the
meantime, you could consider only using Guix "explicitely", by only
entering the profile manually in a shell when you want to use the apps
it installed.
Best,
--
Josselin Poiret
This bug report was last modified 1 year and 329 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.