From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#35874: =?UTF-8?Q?=E2=80=9Cguix_?= =?UTF-8?Q?pull=E2=80=9D?= fails on setlocale Date: Fri, 24 May 2019 15:49:01 +0200 Message-ID: <877eagx8s2.fsf@gnu.org> References: <87y32wga23.fsf@mdc-berlin.de> <87woigg88w.fsf@mdc-berlin.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:40732) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hUAop-0003fB-Dg for bug-guix@gnu.org; Fri, 24 May 2019 10:05:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hUAaA-0004af-HK for bug-guix@gnu.org; Fri, 24 May 2019 09:50:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:32785) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hUAaA-0004aR-CB for bug-guix@gnu.org; Fri, 24 May 2019 09:50:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hUAaA-0004js-9O for bug-guix@gnu.org; Fri, 24 May 2019 09:50:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87woigg88w.fsf@mdc-berlin.de> (Ricardo Wurmus's message of "Thu, 23 May 2019 23:40:15 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ricardo Wurmus Cc: 35874@debbugs.gnu.org Hello Ricardo, Ricardo Wurmus skribis: > This is a store corruption bug. > > The problem appears to be that I accidentally ran the daemon with the > wrong GUIX_DATABASE_DIRECTORY. The localstatedir is /gnu/var, not /var. Ouch. :-/ > When I started the daemon from =E2=80=9Cguix pull=E2=80=9D without having= set > GUIX_DATABASE_DIRECTORY and I asked Guix to build something I noticed > this error message: > > guix pull: error: cannot unlink `/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrig= ddfmq4-glibc-2.28/lib/gconv': Directory not empty When you do =E2=80=98guix pull=E2=80=99, the resulting (guix config) is sup= posed to honor the settings of the calling =E2=80=98guix=E2=80=99: %localstatedir, e= tc. It seems that it wasn=E2=80=99t the case here? Could you try again running =E2=80=98guix pull=E2=80=99 from a =E2=80=98guix=E2=80=99 command that has = non-default settings and check the resulting (guix config) module? > Can we make the daemon detect that its understanding of the site differs > from that of the Guix client? I don=E2=80=99t see how that could be done. The daemon necessarily assumes= that its database is authoritative. This kind of issue was supposed to happen only when building from source, but in that case, ./configure tries hard to protect against that. Here it seems that the real issue is that =E2=80=98guix pull=E2=80= =99 produces a =E2=80=98guix=E2=80=99 that does not honor your settings. Anyway, I hope you managed to recover from it without too much hassle. Thanks, Ludo=E2=80=99.