* bug#30185: [PATCH] [core-updates] Put locales where libc will find them
@ 2018-01-20 21:22 Mark H Weaver
2018-01-20 21:45 ` Gábor Boskovits
2018-01-24 14:34 ` Ludovic Courtès
0 siblings, 2 replies; 4+ messages in thread
From: Mark H Weaver @ 2018-01-20 21:22 UTC (permalink / raw)
To: 30185
[-- Attachment #1: Type: text/plain, Size: 910 bytes --]
On my mips64el-linux GuixSD system, now updated to something close to
core-updates (but with binutils-2.25.1), guile prints this warning:
guile: warning: failed to install locale
and 'locale' prints:
mhw@yeeloong ~$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
[...]
strace shows attempts to open files in /run/current-system/locale/2.26,
which was not included in my built system. Instead I have:
/run/current-system/locale/2.26.105-g0890d5379c
This matches the version field of our 'glibc' package in core-updates,
but it's not where libc is looking.
I've attached a patch that fixes the problem for me.
What do you think?
Mark
[-- Attachment #2: [PATCH] system: Put locales where libc will find them --]
[-- Type: text/x-patch, Size: 2263 bytes --]
From cb343d623d31e0687725d37c8585b440ec5144ec Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Sat, 20 Jan 2018 01:57:07 -0500
Subject: [PATCH] system: Put locales where libc will find them.
* gnu/system/locale.scm (localedef-command, single-locale-directory): Use only
the major+minor part of the libc version number in the locale directory name.
---
gnu/system/locale.scm | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm
index 75cb855b5..75417f669 100644
--- a/gnu/system/locale.scm
+++ b/gnu/system/locale.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +22,7 @@
#:use-module (guix store)
#:use-module (guix records)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (srfi srfi-26)
@@ -90,9 +92,9 @@ or #f on failure."
"--no-archive" "--prefix" #$output
"-i" #$(locale-definition-source locale)
"-f" #$(locale-definition-charset locale)
- (string-append #$output "/"
- #$(package-version libc) "/"
- #$(locale-definition-name locale))))))
+ (string-append #$output "/" #$(version-major+minor
+ (package-version libc))
+ "/" #$(locale-definition-name locale))))))
(define* (single-locale-directory locales
#:key (libc (canonical-package glibc)))
@@ -102,7 +104,7 @@ Because locale data formats are incompatible when switching from one libc to
another, locale data is put in a sub-directory named after the 'version' field
of LIBC."
(define version
- (package-version libc))
+ (version-major+minor (package-version libc)))
(define build
#~(begin
--
2.16.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* bug#30185: [PATCH] [core-updates] Put locales where libc will find them
2018-01-20 21:22 bug#30185: [PATCH] [core-updates] Put locales where libc will find them Mark H Weaver
@ 2018-01-20 21:45 ` Gábor Boskovits
2018-01-24 14:34 ` Ludovic Courtès
1 sibling, 0 replies; 4+ messages in thread
From: Gábor Boskovits @ 2018-01-20 21:45 UTC (permalink / raw)
To: Mark H Weaver; +Cc: 30185
[-- Attachment #1: Type: text/plain, Size: 1331 bytes --]
I remember having a similar issue, and a patch was included to look for
locales in version major+minor instead of the whole version string.
This was tacked at: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29537
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29537>
I think this might be relevant to this.
2018-01-20 22:22 GMT+01:00 Mark H Weaver <mhw@netris.org>:
> On my mips64el-linux GuixSD system, now updated to something close to
> core-updates (but with binutils-2.25.1), guile prints this warning:
>
> guile: warning: failed to install locale
>
> and 'locale' prints:
>
> mhw@yeeloong ~$ locale
> locale: Cannot set LC_CTYPE to default locale: No such file or directory
> locale: Cannot set LC_MESSAGES to default locale: No such file or
> directory
> locale: Cannot set LC_ALL to default locale: No such file or directory
> LANG=en_US.utf8
> LC_CTYPE="en_US.utf8"
> LC_NUMERIC="en_US.utf8"
> [...]
>
> strace shows attempts to open files in /run/current-system/locale/2.26,
> which was not included in my built system. Instead I have:
>
> /run/current-system/locale/2.26.105-g0890d5379c
>
> This matches the version field of our 'glibc' package in core-updates,
> but it's not where libc is looking.
>
> I've attached a patch that fixes the problem for me.
> What do you think?
>
> Mark
>
>
[-- Attachment #2: Type: text/html, Size: 1884 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#30185: [PATCH] [core-updates] Put locales where libc will find them
2018-01-20 21:22 bug#30185: [PATCH] [core-updates] Put locales where libc will find them Mark H Weaver
2018-01-20 21:45 ` Gábor Boskovits
@ 2018-01-24 14:34 ` Ludovic Courtès
2018-01-24 23:32 ` Mark H Weaver
1 sibling, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2018-01-24 14:34 UTC (permalink / raw)
To: Mark H Weaver; +Cc: 30185
Mark H Weaver <mhw@netris.org> skribis:
> From cb343d623d31e0687725d37c8585b440ec5144ec Mon Sep 17 00:00:00 2001
> From: Mark H Weaver <mhw@netris.org>
> Date: Sat, 20 Jan 2018 01:57:07 -0500
> Subject: [PATCH] system: Put locales where libc will find them.
>
> * gnu/system/locale.scm (localedef-command, single-locale-directory): Use only
> the major+minor part of the libc version number in the locale directory name.
Good catch, go for it!
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#30185: [PATCH] [core-updates] Put locales where libc will find them
2018-01-24 14:34 ` Ludovic Courtès
@ 2018-01-24 23:32 ` Mark H Weaver
0 siblings, 0 replies; 4+ messages in thread
From: Mark H Weaver @ 2018-01-24 23:32 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 30185-done
ludo@gnu.org (Ludovic Courtès) writes:
> Mark H Weaver <mhw@netris.org> skribis:
>
>> * gnu/system/locale.scm (localedef-command, single-locale-directory): Use only
>> the major+minor part of the libc version number in the locale directory name.
>
> Good catch, go for it!
Pushed as commit 6d5a65de7fba53ca1160844550d261f540f110e1 on
core-updates. I'm closing this bug now.
Thanks,
Mark
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-01-24 23:34 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-20 21:22 bug#30185: [PATCH] [core-updates] Put locales where libc will find them Mark H Weaver
2018-01-20 21:45 ` Gábor Boskovits
2018-01-24 14:34 ` Ludovic Courtès
2018-01-24 23:32 ` Mark H Weaver
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).