Hi, On Fri, 18 Dec 2020 at 12:37, Carlo Zancanaro <ca...@zancanaro.id.au> wrote:
> My point is: Guix manipulates environment variables in a way that > can, and does, break "foreign" programs when Guix's programs > launch "foreign" programs. We should consider this a bug. This bug > might be hard, or even impossible, to resolve but we should > consider it a bug nonetheless. I am not sure to agree. The unexpected (by you :-)) behaviour at hand is about Emacs and "M-x shell"; and I will not speak "in general". > > --8<---------------cut > > here---------------start------------->8--- > > guix environment --ad-hoc emacs grep coreutils --pure > > env | grep GTK_PATH > > /usr/bin/evince # Works! > > > > emacs -q -f shell > > sh-5.0$ env | grep GTK_PATH > > GTK_PATH=/gnu/store/v3rqcgz6chnmv2sg7lgf4s9kv2xyb5rl-gtk+-3.24.23/lib/gtk-3.0 > > sh-5.0$ /usr/bin/evince > > > > (evince:21780): GLib-GIO-ERROR **: 11:24:25.706: No GSettings > > schemas are installed on the system > > Trace/breakpoint trap > > sh-5.0$ unset GTK_PATH > > sh-5.0$ env | grep GTK_PATH > > sh-5.0$ /usr/bin/evince > > > > (evince:25064): GLib-GIO-ERROR **: 11:32:22.826: No GSettings > > schemas are installed on the system > > Trace/breakpoint trap > > --8<---------------cut > > here---------------end--------------->8--- > > > > So the story seems more complicated than GTK_PATH. :-) > > Did you try opening the print dialog in evince? If you did, then I cannot even open "evince" inside Emacs shell... > you should have seen different behaviour when GTK_PATH was set > compared to when it wasn't. Namely, when GTK_PATH was set you ...and whatever if GTK_PATH is set or unset. That's what my example shows. > The problem is that GTK_PATH is checked for libraries first, where > it finds the above library and tries and fails to load it. It does > not fall back to the default paths, but rather treats loading that > library as having failed, and thus evince cannot print. When > GTK_PATH is unset it checks the default locations, and > successfully finds and loads the library, and thus evince can > print. My point is: it is more complicated than only the environment variable GTK_PATH. Well, if you feel it is a bug, please open a bug report detailing what is the problem. Personally, I do miss what it is and what could be the actionable next step. All the best, simon