help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can I easily install GNU Emacs 27.1.50 via Guix?


From: Carlo Zancanaro
Subject: Re: Can I easily install GNU Emacs 27.1.50 via Guix?
Date: Fri, 18 Dec 2020 20:36:11 +1100
User-agent: mu4e 1.4.13; emacs 27.1

Hi Simon,

On Fri, Dec 18 2020, zimoun wrote:
Maybe I miss something and I have not dove into all the details so I could be totally wrong. However, from my understanding, A is built against the shared library C1, and B is built against the shared library C2, and nothing says that C1 and C2 are compatible.

This is true if they are in the same address space, but in this case evince runs as a separate process. There's no reason it has to load the same libraries as emacs, or have the same GTK_PATH variable. You should be able to show this by replacing evince with a script that unsets GTK_PATH before invoking the system evince. I have attached such a wrapper, if you want to add it to your path to check on a foreign distribution (it makes the print dialog in evince work for me, even when I run evince from within Guix's emacs).

One may argue that the system is functioning correctly, and this is an unfortunate consequence of the way that Guix works. I would still consider the faulty behaviour a bug - even if it is a result of intentional decisions made in Guix's design. Running evince (i.e. /usr/bin/evince) is failing because of an environment variable that Guix's wrapper sets for emacs. That environment variable is propagated to child processes (as environment variables are), and in this instance that causes the child process to misbehave. This is a bug caused by Guix's wrapping of emacs.

I run into a similar problem where my window manager (awesomewm) sets LD_LIBRARY_PATH, which then propagates to everything I run from my session. It's quite a pain. I thought there was an open issue for this, but I can't seem to find it at the moment.

On foreign distro or Guix System?

I am using Guix on a foreign distribution. I imagine a Guix system would mask this bug because we wrap lots of programs (using wrap-program or similar) so that they explicitly set the environment variables they run with, but it may still be possible to provoke it Guix built binaries. I haven't tried.

Carlo

Attachment: evince
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]