Bug#759733: perl: FTBFS with specific locale settings
Niko Tyni
ntyni at debian.org
Fri Aug 29 19:56:39 UTC 2014
retitle 759733 perl: t/run/locale fails with bad LC_* settings
severity 759733 minor
thanks
On Fri, Aug 29, 2014 at 12:10:32PM -0700, gregor herrmann wrote:
> Source: perl
> Version: 5.20.0-4
> Severity: normal
> t/run/locale .................................................. # Failed test 2 - LC_NUMERIC without environment nor setlocale() has no effect in any locale at ./test.pl line 982
> # got "perl: warning: Setting locale failed.\nperl: warning: Please check that your locale settings:\n\tLANGUAGE = (unset),\n\tLC_ALL = \"\",\n\tLC_CTYPE = \"de_AT.utf8\",\n\tLANG = \"\"\n are supported and installed on your system.\nperl: warning: Falling back to the standard locale (\"C\")."
> # expected ""
Thanks for the report.
So, I think what happens is that the shell where you're building
has a "bad" LC_CTYPE setting (bad because the locale is not available),
but it's normally masked by a "good" LC_ALL setting (probably "C").
The above test explicitly unsets LC_ALL:
local $ENV{LC_NUMERIC}; # So not taken as a default
local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC
local $ENV{LANG}; # So not taken as a default
so the lack of the requested locale becomes a problem, perl warns
accordingly, and the test interprets this as a failure.
While it would be nice if the code could handle this and perhaps skip
tests as necessary, it is sort of a user error. Don't do that, then
(at least for now :)
I'm downgrading the severity, hope that's OK with you.
--
Niko Tyni ntyni at debian.org
More information about the Perl-maintainers
mailing list