FS#49426 - [arch-install-scripts] Warning about $LC_* and $LANG not set using installation scripts.
Attached to Project:
Arch Linux
Opened by Frederic Bezies (fredbezies) - Saturday, 21 May 2016, 07:03 GMT
Last edited by Dave Reisner (falconindy) - Sunday, 03 July 2016, 21:14 GMT
Opened by Frederic Bezies (fredbezies) - Saturday, 21 May 2016, 07:03 GMT
Last edited by Dave Reisner (falconindy) - Sunday, 03 July 2016, 21:14 GMT
|
Details
Description: I faced this bug while installing archlinux in
VirtualBox for some tests this morning.
On pacstrap step, after installing base and base devel, I got this message while processing man hook : "Updating manpage index... mandb: can't set the locale; make sure $LC_* and $LANG are correct" As both are configured in arch_chroot step, I think it is a little bug :) Additional info: man-db 2.7.5-2 Steps to reproduce: See details :) |
This task depends upon
Closed by Dave Reisner (falconindy)
Sunday, 03 July 2016, 21:14 GMT
Reason for closing: Won't fix
Additional comments about closing: Nothing to be fixed in arch-install-scripts, see comments for rationale. The fact that man-db complains about this is specific to man-db.
Sunday, 03 July 2016, 21:14 GMT
Reason for closing: Won't fix
Additional comments about closing: Nothing to be fixed in arch-install-scripts, see comments for rationale. The fact that man-db complains about this is specific to man-db.
The message ceases after the locale was generated in the target system and either man-db is re-installed by running pacstrap from the installer again or binary mandb which is actually throwing the message is run in the Arch chroot. Also, it cannot be seen at all when pacstrap is invoked with LANG=C in the first place.
The problem got manifest when pacman hooks were introduced to run mandb as these are triggered during package installation. In earlier versions of package man-db the binary was launched by systemd timers or cron jobs which were triggered when the installed system was running only.
Personally, I do not think that package man-db is to blame here as throwing a warning message seems like the right thing to do when mandb gets invoked that way. It should probably be re-assigned to Release Engineering.
If invoking pacstrap with LANG=C doesn't have any downside this may be the best solution.
1) Entirely empty chroot where no locales previously exist. If pacstrap sets LANG=C, it's just papering over the error. The default behavior for libc when encountering an unknown locale is to fallback on the POSIX/C locale anyways.
2) Mostly empty chroot, but locales exist (for whatever reason) at the time that pacstrap runs. If pacstrap sets LANG=C, it might break things which expected to use the locale accessible in the chroot.
Because of that, I think it's safer to do nothing and just ignore the error from man-db.