Subject: bug#30395: ‘gcc’ doesn't compile with LD_LIBRARY_PATH="$HOME/.guix-profile/lib"

From: Mathieu Lirzin <[email-masked]>
Date: Sat, 17 Feb 2018 23:49:25 +0100

[email-masked] (Ludovic Courtès) writes:

> Mathieu Lirzin <[email-masked]> skribis:
>
>> 13061 open("/gnu/store/38kr8xi7nib8rx8xr4gi0w0d8knyca3k-glibc-2.25/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
>> 13061 fstat(3, {st_mode=S_IFREG|0444, st_size=2997, ...}) = 0
>> 13061 read(3, "# Locale name alias data base.\n# Copyright (C)
>> 1996-2017 Free Software Foundation, Inc.\n#\n# This program is free
>> software; you can redistribute it and/or modify\n# it under the
>> terms of the GNU General Public License as published by\n# the Free
>> Software Foundation; either version 2, or (at your option)\n# any
>> later version.\n#\n# This program is distributed in the hope that it
>> will be useful,\n# but WITHOUT ANY WARRANTY; without even the
>> implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR
>> PURPOSE.  See the\n# GNU General Public License for more
>> details.\n#\n# You should have received a copy of the GNU General
>> Public License\n# along with this program; if not, see
>> <http://www.gnu.org/licenses/>.\n\n# The format of this file is the
>> same as for the corresponding file of\n# the X Window System, which
>> normally can be found in\n#\t/usr/lib/X11/locale/locale.alias\n# A
>> single line contains two fields: an alias and a substitution
>> value.\n# All entries are case independent.\n\n# Note: This file is
>> o"..., 4096) = 2997
>> 13061 read(3, "", 4096)                 = 0
>> 13061 close(3)                          = 0
>> 13061 open("/run/current-system/locale/2.25/fr_FR.utf8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = 3
>> 13061 fstat(3, {st_mode=S_IFREG|0444, st_size=299, ...}) = 0
>> 13061 mmap(NULL, 299, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f726d164000
>> 13061 close(3)                          = 0
>> 13061 open("/gnu/store/38kr8xi7nib8rx8xr4gi0w0d8knyca3k-glibc-2.25/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory)
>> 13061 open("/gnu/store/5x9zxdmxphmprlchfl3a2y8w5ykcwkjc-glibc-2.25/lib/gconv/gconv-modules", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
>
> How come this ‘gconv-modules’ file doesn’t exist?  I have it here.
> I have:
>
> $ guix hash -r /gnu/store/5x9zxdmxphmprlchfl3a2y8w5ykcwkjc-glibc-2.25
> 03la0p9pigf6r33px5nckky9fxvrynvw1fgn9v2l04zlys7k3k2y
> $ wget -q -O - https://berlin.guixsd.org/5x9zxdmxphmprlchfl3a2y8w5ykcwkjc.narinfo | grep NarHash
> NarHash: sha256:03la0p9pigf6r33px5nckky9fxvrynvw1fgn9v2l04zlys7k3k2y
>
>
> What about you?

$ guix hash -r /gnu/store/5x9zxdmxphmprlchfl3a2y8w5ykcwkjc-glibc-2.25
guix hash: error: lstat: Aucun fichier ou dossier de ce type: "/gnu/store/5x9zxdmxphmprlchfl3a2y8w5ykcwkjc-glibc-2.25"

There is no corresponding store item, so it seems logical that the
‘gconv-modules’ are not found.  :-) 

Just in case, I have checked that
‘LD_LIBRARY_PATH="$HOME/.guix-profile/lib" strace -f -s 1000 gdb’ still
has a reference to that glibc:

--8<---------------cut here---------------start------------->8---
open("/gnu/store/38kr8xi7nib8rx8xr4gi0w0d8knyca3k-glibc-2.25/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/gnu/store/5x9zxdmxphmprlchfl3a2y8w5ykcwkjc-glibc-2.25/lib/gconv/gconv-modules",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
--8<---------------cut here---------------end--------------->8---

> Can you try ‘guix gc --verify’?

$ guix gc --verify
reading the Nix store...
checking path existence...

$ guix gc --verify=contents
reading the Nix store...
checking path existence...
checking hashes...

What does it mean doctor?  Is that cancer?

Thanks.

-- 
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37