From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id gGzlHt2L3F9+IgAA0tVLHw (envelope-from ) for ; Fri, 18 Dec 2020 11:00:45 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id wO6uGt2L3F/YVAAAB5/wlQ (envelope-from ) for ; Fri, 18 Dec 2020 11:00:45 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id C23B39403CB for ; Fri, 18 Dec 2020 11:00:44 +0000 (UTC) Received: from localhost ([::1]:46046 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kqDV5-00018w-Ny for larch@yhetil.org; Fri, 18 Dec 2020 06:00:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47110) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kqDAr-0000Jt-Qy for help-guix@gnu.org; Fri, 18 Dec 2020 05:39:50 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:36471) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kqDAo-0003q3-U8 for help-guix@gnu.org; Fri, 18 Dec 2020 05:39:48 -0500 Received: by mail-wr1-x436.google.com with SMTP id t16so1618586wra.3 for ; Fri, 18 Dec 2020 02:39:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=z3Gv3mAv0mjYg80Tfss9Mi9KUB6v8Z6wQdMwmEKP9kw=; b=a6Uo4bsd2uOwc+kRZyx+k3xKlgOJP9mHour5Vw40YIxkBSUVPUDzn4YBhPJaBStYbH EamYqazDvdW3Q4sENEYpIzjKDCCvu9ZcgLw8cpmtsOamUpacvMdmCGi6raQHz0EsGwn2 olC/yVpvWbgmAOd69N5fVsTZQpu+m38Lb0ZsrZX2id7M8QfCA2/VJkCCPJOgGNCcJ2ws Lnz1o3vg5wsdixk0568mPHR64dy1IFVFGFBpJJwgJ7ceOTtPJSLK9zO5rg8dFtZs4Qeq hpxVtx2Ebbtf3MyiKqXqtV0euvMguTysEv7SH5+J+oUDcFpCDYPnnjqaY6sCZggkyQih 280A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version; bh=z3Gv3mAv0mjYg80Tfss9Mi9KUB6v8Z6wQdMwmEKP9kw=; b=tY/Kkn8ovxFBGNESCILbSaKXysHJbg62/j3cIppaRh9yn4/HSdlRvz0RlNoqY1ZTHL bRpjE1wEOnKRVO6YJI1F+ojcYBCdxPhdiA0P4BYqFup5lwOWnThRlPtbZLO+S6SUBe/f GdGJTlGtXea3b8KVB/yqirsEIZ58aViCGLdFfY+eH1J3KoSMzcu9i/k6KcwbhORBFGHQ QuW1vPzNLw9gVSBXrkBrBKtP475Hi29JYg0tMJIhZuxvNYWmyoeaLGiSJOyywztFbSCY CsLcurNJd0dgerS0lmzzDvAgzrni9n5g/0BT65uO6AHnXvEH83UNl1OlVMXkzDQfh9HG jAZw== X-Gm-Message-State: AOAM532mUrDsbpFrNKRQSR8s5x7dB1ZasaDFatiPBIXHel30lSqi66Av NDX7+LKVTLahpPg4b/qS+sUksfkqSjM= X-Google-Smtp-Source: ABdhPJwOGag+fH0cmNm0q+58UP/HVcoVOrgsuwWPW/pSAtPnmpgLlvasTBQEQk+doEfO1bM0eJ0eZg== X-Received: by 2002:adf:9b9b:: with SMTP id d27mr3694405wrc.125.1608287985424; Fri, 18 Dec 2020 02:39:45 -0800 (PST) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id q1sm12525318wrj.8.2020.12.18.02.39.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Dec 2020 02:39:45 -0800 (PST) From: zimoun To: Carlo Zancanaro Subject: Re: Can I easily install GNU Emacs 27.1.50 via Guix? In-Reply-To: <8736034fsk.fsf@zancanaro.id.au> References: <87h7ov0vxl.fsf@disroot.org> <87h7ou1yxf.fsf@ambrevar.xyz> <861rfxj0lx.fsf@gmail.com> <87wnxgf3hh.fsf@disroot.org> <867dpfools.fsf@gmail.com> <875z4z4v6s.fsf@zancanaro.id.au> <86h7ojmqtq.fsf@gmail.com> <8736034fsk.fsf@zancanaro.id.au> Date: Fri, 18 Dec 2020 11:38:23 +0100 Message-ID: <86eejnmmao.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=zimon.toutoune@gmail.com; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: help-guix@gnu.org Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -2.02 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=a6Uo4bsd; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Migadu-Queue-Id: C23B39403CB X-Spam-Score: -2.02 X-Migadu-Scanner: scn0.migadu.com X-TUID: y5bmQcueZE0u Hi, On Fri, 18 Dec 2020 at 20:36, Carlo Zancanaro wrote: > 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). Is your point that: guix environment --ad-hoc emacs coreutils diffutils --pure env > /tmp/env.xterm emacs -q -f shell (emacs) env > /tmp/env.emacs diff /tmp/env.xterm /tmp/env.emacs --8<---------------cut here---------------start------------->8--- 1a2,3 > TERMCAP= > INSIDE_EMACS=27.1,comint 7a10 > COLUMNS=115 9c12,13 < TERM=xterm-256color --- > TERM=dumb > GTK_PATH=/gnu/store/v3rqcgz6chnmv2sg7lgf4s9kv2xyb5rl-gtk+-3.24.23/lib/gtk-3.0 11c15 < SHLVL=1 --- > SHLVL=2 14c18 < PS1=[env]\n\w/\n\u@\h$ --- > XDG_DATA_DIRS=/gnu/store/jqyb550ir6m374sd34qw5970lgj103xw-shared-mime-info-1.15/share:/gnu/store/rxg53s8xwc70lpbpp0bfsx89387ahclb-glib-2.62.6/share:/gnu/store/v3rqcgz6chnmv2sg7lgf4s9kv2xyb5rl-gtk+-3.24.23/share:/gnu/store/929jj5kcwg5c01ksdpml3r1nhlgz9k3b-emacs-27.1/share --8<---------------cut here---------------end--------------->8--- so GTK_PATH and maybe XDG_DATA_DIRS should not be there? However, on my machine running Guix on the top of Debian, I get: --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. :-) > 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 have no opinion. Even if usually, I prefer that by default the child (M-x shell) inherits from parent. >>> 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. Thanks for the explanations. All the best, simon