From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: bug#35874: =?UTF-8?Q?=E2=80=9Cguix_?= =?UTF-8?Q?pull=E2=80=9D?= fails on setlocale Date: Fri, 24 May 2019 16:11:26 +0200 Message-ID: <87tvdkdjsh.fsf@mdc-berlin.de> References: <87y32wga23.fsf@mdc-berlin.de> <87woigg88w.fsf@mdc-berlin.de> <877eagx8s2.fsf@gnu.org> 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]:42988) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hUAvT-0001kP-8Z for bug-guix@gnu.org; Fri, 24 May 2019 10:12:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hUAvS-00013Z-7F for bug-guix@gnu.org; Fri, 24 May 2019 10:12:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33433) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hUAvS-00013A-2X for bug-guix@gnu.org; Fri, 24 May 2019 10:12:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hUAvR-0005Xv-Rm for bug-guix@gnu.org; Fri, 24 May 2019 10:12:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <877eagx8s2.fsf@gnu.org> 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 35874@debbugs.gnu.org Ludovic Court=C3=A8s writes: >> When I started the daemon from =E2=80=9Cguix pull=E2=80=9D without havin= g set >> GUIX_DATABASE_DIRECTORY and I asked Guix to build something I noticed >> this error message: >> >> guix pull: error: cannot unlink `/gnu/store/h90vnqw0nwd0hhm1l5dgxsdri= gddfmq4-glibc-2.28/lib/gconv': Directory not empty > > When you do =E2=80=98guix pull=E2=80=99, the resulting (guix config) is s= upposed to > honor the settings of the calling =E2=80=98guix=E2=80=99: %localstatedir,= etc. > > It seems that it wasn=E2=80=99t the case here? Could you try again runni= ng > =E2=80=98guix pull=E2=80=99 from a =E2=80=98guix=E2=80=99 command that ha= s non-default settings and > check the resulting (guix config) module? Is (guix config) enough? What about the daemon? I=E2=80=99ve had no probl= em with =E2=80=9Cguix=E2=80=9D itself when used with a daemon taken from the g= it checkout. >> 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 assum= es 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. This is confusing, because I *am* using the =E2=80=9Cguix=E2=80=9D client f= rom whatever =E2=80=9Cguix pull=E2=80=9D produces. It=E2=80=99s just the daemon that wo= rks against me when I take it from the same directory as the =E2=80=9Cguix=E2=80=9D client. So, =E2=80=9Cguix-daemon=E2=80=9D currently runs from the git checkout, and= all users talk to it with =E2=80=9Cguix=E2=80=9D from various runs of =E2=80=9Cguix p= ull=E2=80=9D (we initially pulled using the properly configured version from the git checkout). > Anyway, I hope you managed to recover from it without too much hassle. Yes, I was able to identify the corrupt store items and copy the corresponding items from a separate machine. I was lucky that it aborted early when trying to delete items, so it seems that it didn=E2=80= =99t get to do all that much damage. (Curiously, I wasn=E2=80=99t able to run =E2=80=9Cguix gc --verify=3Drepair= ,contents=E2=80=9D because Guix claims I don=E2=80=99t have sufficient privileges to repair the store =E2=80=94 I=E2=80=99m running this as root, but who knows how NFS com= plicates things=E2=80=A6) -- Ricardo