Skip to content

perlbrew install blead fails at run/locale.t #13605

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
p5pRT opened this issue Feb 15, 2014 · 9 comments
Closed

perlbrew install blead fails at run/locale.t #13605

p5pRT opened this issue Feb 15, 2014 · 9 comments

Comments

@p5pRT
Copy link

p5pRT commented Feb 15, 2014

Migrated from rt.perl.org#121257 (status was 'resolved')

Searchable as RT121257$

@p5pRT
Copy link
Author

p5pRT commented Feb 15, 2014

From @hknutzen

I just tried to build the blead version of perl calling "perlbrew
install blead".

Failed 1 test out of 2248, 99.96% okay.
  run/locale.t

t/run/locale ..................................................
# Failed test 2 - LC_NUMERIC without environment nor setlocale() has no
effect in any locale at ./test.pl line 976
# got "C 4,2\nC.UTF-8 4,2\nPOSIX 4,2\nde_AT.utf8 4,2\nde_BE.utf8
4,2\nde_CH.utf8 4,2\nde_DE.utf8 4,2\nde_LI.utf8 4,2\nde_LU.utf8
4,2\nen_AG 4,2\nen_AG.utf8 4,2\nen_AU.utf8 4,2\nen_BW.utf8
4,2\nen_CA.utf8 4,2\nen_DK.utf8 4,2\nen_GB.utf8 4,2\nen_HK.utf8
4,2\nen_IE.utf8 4,2\nen_IN 4,2\nen_IN.utf8 4,2\nen_NG 4,2\nen_NG.utf8
4,2\nen_NZ.utf8 4,2\nen_PH.utf8 4,2\nen_SG.utf8 4,2\nen_US.utf8
4,2\nen_ZA.utf8 4,2\nen_ZM 4,2\nen_ZM.utf8 4,2\nen_ZW.utf8
4,2\nzh_CN.utf8 4,2\nzh_SG.utf8 4,2"
# expected ""
# PROG​:
# for (qw(C C.UTF-8 POSIX de_AT.utf8 de_BE.utf8 de_CH.utf8 de_DE.utf8
de_LI.utf8 de_LU.utf8 en_AG en_AG.utf8 en_AU.utf8 en_BW.utf8 en_CA.utf8
en_DK.utf8 en_GB.utf8 en_HK.utf8 en_IE.utf8 en_IN en_IN.utf8 en_NG
en_NG.utf8 en_NZ.utf8 en_PH.utf8 en_SG.utf8 en_US.utf8 en_ZA.utf8 en_ZM
en_ZM.utf8 en_ZW.utf8 zh_CN.utf8 zh_SG.utf8)) {
# use POSIX qw(locale_h);
# use locale;
# my $in = 4.2;
# my $s = sprintf "%g", $in; # avoid any constant folding bugs
# next if $s eq "4.2";
# print "$_ $s\n";
# }
# STATUS​: 0

My locale settings​: (xubuntu 12.04)

LANG=de_DE.UTF-8
LANGUAGE=de_DE​:en
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=

@p5pRT
Copy link
Author

p5pRT commented Feb 16, 2014

From @jkeenan

On Sat Feb 15 14​:58​:17 2014, heinz.knutzen@​gmail.com wrote​:

I just tried to build the blead version of perl calling "perlbrew
install blead".

Failed 1 test out of 2248, 99.96% okay.
run/locale.t

t/run/locale ..................................................
# Failed test 2 - LC_NUMERIC without environment nor setlocale() has no
effect in any locale at ./test.pl line 976

[snip]

Please post the output of "./perl -Ilib -V" from the directory where you conducted this build.

@p5pRT
Copy link
Author

p5pRT commented Feb 16, 2014

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Feb 16, 2014

From @khwilliamson

On 02/16/2014 06​:49 AM, James E Keenan via RT wrote​:

On Sat Feb 15 14​:58​:17 2014, heinz.knutzen@​gmail.com wrote​:

I just tried to build the blead version of perl calling "perlbrew
install blead".

Failed 1 test out of 2248, 99.96% okay.
run/locale.t

t/run/locale ..................................................
# Failed test 2 - LC_NUMERIC without environment nor setlocale() has no
effect in any locale at ./test.pl line 976

[snip]

Please post the output of "./perl -Ilib -V" from the directory where you conducted this build.

And blead has changed in the last 18 hours with respect to this issue.
Please get the very latest blead and run your test again. It may now be
fixed, or it may be that the changes caused the problem, depending on
what version of blead you were using.

@p5pRT
Copy link
Author

p5pRT commented Feb 16, 2014

From @hknutzen

The build directory has already been overwritten by my 2nd call to perlbrew
"perlbrew --force install blead".
I hope it is sufficient to use this directory.

hk@​buero​:~/perl5/perlbrew/build/perl-1122035$ ./perl -Ilib -V
Summary of my perl5 (revision 5 version 19 subversion 9) configuration​:
  Snapshot of​: 1122035
  Platform​:
  osname=linux, osvers=3.8.0-36-generic, archname=i686-linux
  uname='linux buero 3.8.0-36-generic #52~precise1-ubuntu smp mon feb
3 21​:56​:56 utc 2014 i686 athlon i386 gnulinux '
  config_args='-de -Dprefix=/home/hk/perl5/perlbrew/perls/perl-blead
-Dusedevel'
  hint=recommended, useposix=true, d_sigaction=define
  useithreads=undef, usemultiplicity=undef
  use64bitint=undef, use64bitall=undef, uselongdouble=undef
  usemymalloc=n, bincompat5005=undef
  Compiler​:
  cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
  optimize='-O2',
  cppflags='-fno-strict-aliasing -pipe -fstack-protector
-I/usr/local/include'
  ccversion='', gccversion='4.6.3', gccosandvers=''
  intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
  d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
  ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
  alignbytes=4, prototype=define
  Linker and Libraries​:
  ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
  libpth=/usr/local/lib /usr/lib/gcc/i686-linux-gnu/4.6/include-fixed
/usr/include/i386-linux-gnu /usr/lib /lib/i386-linux-gnu /lib/../lib
/usr/lib/i386-linux-gnu /usr/lib/../lib /lib
  libs=-lnsl -ldl -lm -lcrypt -lutil -lc
  perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
  libc=, so=so, useshrplib=false, libperl=libperl.a
  gnulibc_version='2.15'
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
  cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib
-fstack-protector'

Characteristics of this binary (from libperl)​:
  Compile-time options​: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
  PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
  PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
  PERL_USE_DEVEL USE_LARGE_FILES USE_LOCALE
  USE_LOCALE_COLLATE USE_LOCALE_CTYPE
  USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
  Built under linux
  Compiled at Feb 16 2014 00​:02​:55
  %ENV​:
  PERLBREW_BASHRC_VERSION="0.43"
  PERLBREW_HOME="/home/hk/.perlbrew"
  PERLBREW_MANPATH="/home/hk/perl5/perlbrew/perls/perl-blead/man"
 
PERLBREW_PATH="/home/hk/perl5/perlbrew/bin​:/home/hk/perl5/perlbrew/perls/perl-blead/bin"
  PERLBREW_PERL="perl-blead"
  PERLBREW_ROOT="/home/hk/perl5/perlbrew"
  PERLBREW_VERSION="0.43"
  @​INC​:
  lib
  /home/hk/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.19.9/i686-linux
  /home/hk/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.19.9
  /home/hk/perl5/perlbrew/perls/perl-blead/lib/5.19.9/i686-linux
  /home/hk/perl5/perlbrew/perls/perl-blead/lib/5.19.9
  .

@p5pRT
Copy link
Author

p5pRT commented Feb 17, 2014

From @hknutzen

I tried it again with current blead and it failed again​:

hk@​buero​:~$ perlbrew install blead
Fetching blead as /home/hk/perl5/perlbrew/dists/blead.tar.gz
Installing /home/hk/perl5/perlbrew/build/perl-4a2e143 into
~/perl5/perlbrew/perls/perl-blead

This could take a while. You can run the following command on another
shell to track the status​:

  tail -f ~/perl5/perlbrew/build.log

Installing /home/hk/perl5/perlbrew/build/perl-4a2e143 failed. See
/home/hk/perl5/perlbrew/build.log to see why.
You might want to try upgrading patchperl before trying again​:

  perlbrew install-patchperl

If you want to force install the distribution, try​:

  perlbrew --force install blead

hk@​buero​:~$ grep -A1 '^Failed' /perl5/perlbrew/build.log
Failed 1 test out of 2248, 99.96% okay.
  run/locale.t
hk@​buero​:~$ cd /home/hk/perl5/perlbrew/build/perl-4a2e143
hk@​buero​:~/perl5/perlbrew/build/perl-4a2e143$ ./perl -Ilib -V
Summary of my perl5 (revision 5 version 19 subversion 9) configuration​:
  Snapshot of​: 4a2e143
  Platform​:
  osname=linux, osvers=3.8.0-36-generic, archname=i686-linux
  uname='linux buero 3.8.0-36-generic #52
precise1-ubuntu smp mon feb
3 21​:56​:56 utc 2014 i686 athlon i386 gnulinux '
  config_args='-de -Dprefix=/home/hk/perl5/perlbrew/perls/perl-blead
-Dusedevel'
  hint=recommended, useposix=true, d_sigaction=define
  useithreads=undef, usemultiplicity=undef
  use64bitint=undef, use64bitall=undef, uselongdouble=undef
  usemymalloc=n, bincompat5005=undef
  Compiler​:
  cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
  optimize='-O2',
  cppflags='-fno-strict-aliasing -pipe -fstack-protector
-I/usr/local/include'
  ccversion='', gccversion='4.6.3', gccosandvers=''
  intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
  d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
  ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
  alignbytes=4, prototype=define
  Linker and Libraries​:
  ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
  libpth=/usr/local/lib /usr/lib/gcc/i686-linux-gnu/4.6/include-fixed
/usr/include/i386-linux-gnu /usr/lib /lib/i386-linux-gnu /lib/../lib
/usr/lib/i386-linux-gnu /usr/lib/../lib /lib
  libs=-lnsl -ldl -lm -lcrypt -lutil -lc
  perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
  libc=, so=so, useshrplib=false, libperl=libperl.a
  gnulibc_version='2.15'
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
  cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib
-fstack-protector'

Characteristics of this binary (from libperl)​:
  Compile-time options​: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
  PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
  PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
  PERL_USE_DEVEL USE_LARGE_FILES USE_LOCALE
  USE_LOCALE_COLLATE USE_LOCALE_CTYPE
  USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
  Built under linux
  Compiled at Feb 16 2014 20​:59​:53
  %ENV​:
  PERLBREW_BASHRC_VERSION="0.43"
  PERLBREW_HOME="/home/hk/.perlbrew"
  PERLBREW_MANPATH="/home/hk/perl5/perlbrew/perls/perl-blead/man"
 
PERLBREW_PATH="/home/hk/perl5/perlbrew/bin​:/home/hk/perl5/perlbrew/perls/perl-blead/bin"
  PERLBREW_PERL="perl-blead"
  PERLBREW_ROOT="/home/hk/perl5/perlbrew"
  PERLBREW_VERSION="0.43"
  @​INC​:
  lib
  /home/hk/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.19.9/i686-linux
  /home/hk/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.19.9
  /home/hk/perl5/perlbrew/perls/perl-blead/lib/5.19.9/i686-linux
  /home/hk/perl5/perlbrew/perls/perl-blead/lib/5.19.9
  .

@p5pRT
Copy link
Author

p5pRT commented Feb 17, 2014

From @tonycoz

On Sun Feb 16 20​:44​:00 2014, heinz.knutzen@​gmail.com wrote​:

I tried it again with current blead and it failed again​:

Here's the detailed test output​:

tony@​saturn-ubuntu64​:~/dev/perl/git/perl$ LANGUAGE=de_DE.UTF-8 LANG=de_DE.UTF-8 ./perl t/run/locale.t
1..18
ok 1 - no locales where LC_NUMERIC breaks
not ok 2 - LC_NUMERIC without environment nor setlocale() has no effect in any locale
# Failed test 2 - LC_NUMERIC without environment nor setlocale() has no effect in any locale at ./test.pl line 982
# got "C 4,2\nC.UTF-8 4,2\nPOSIX 4,2\nde_DE 4,2\nde_DE.iso88591 4,2\nde_DE.utf8 4,2\nen_AG 4,2\nen_AG.utf8 4,2\nen_AU.utf8 4,2\nen_BW.utf8 4,2\nen_CA.utf8 4,2\nen_DK.utf8 4,2\nen_GB.utf8 4,2\nen_HK.utf8 4,2\nen_IE.utf8 4,2\nen_IN 4,2\nen_IN.utf8 4,2\nen_NG 4,2\nen_NG.utf8 4,2\nen_NZ.utf8 4,2\nen_PH.utf8 4,2\nen_SG.utf8 4,2\nen_US.utf8 4,2\nen_ZA.utf8 4,2\nen_ZM 4,2\nen_ZM.utf8 4,2\nen_ZW.utf8 4,2"
# expected ""
# PROG​:
# for (qw(C C.UTF-8 POSIX de_DE de_DE.iso88591 de_DE.utf8 en_AG en_AG.utf8 en_AU.utf8 en_BW.utf8 en_CA.utf8 en_DK.utf8 en_GB.utf8 en_HK.utf8 en_IE.utf8 en_IN en_IN.utf8 en_NG en_NG.utf8 en_NZ.utf8 en_PH.utf8 en_SG.utf8 en_US.utf8 en_ZA.utf8 en_ZM en_ZM.utf8 en_ZW.utf8)) {
# use POSIX qw(locale_h);
# use locale;
# my $in = 4.2;
# my $s = sprintf "%g", $in; # avoid any constant folding bugs
# next if $s eq "4.2";
# print "$_ $s\n";
# }
# STATUS​: 0
# using the 'de_DE' locale for LC_NUMERIC tests
ok 3 - format() does not look at LC_NUMERIC without 'use locale'
ok 4 - format() looks at LC_NUMERIC with 'use locale'
ok 5 - format() looks at LC_NUMERIC with 'use locale "​:not_characters"'
ok 6 - too late to look at the locale at write() time
ok 7 - too late to ignore the locale at write() time
ok 8 - version does not clobber version
ok 9 - version does not clobber version (via eval)
ok 10 - sprintf() and printf() look at LC_NUMERIC regardless of constant folding
ok 11 - LANG is used if LC_ALL, LC_NUMERIC are invalid
ok 12 - C locale is used if LC_ALL, LC_NUMERIC, LANG are invalid
ok 13 - No compile error on v-strings when setting the locale to non-dot radix at compile time when default environment has non-dot radix
ok 14 - Radix print properly in locale scope, and without
ok 15 - Can do math when radix is a comma
ok 16 - POSIX​::strtod() uses underlying locale
ok 17 - /il matching of [bracketed] doesn't skip POSIX class if fails individ char
ok 18 - /l matching of [bracketed] doesn't skip non-first POSIX class

Passes with the defaults on this system​:

tony@​saturn-ubuntu64​:~/dev/perl/git/perl$ echo $LANGUAGE

tony@​saturn-ubuntu64​:~/dev/perl/git/perl$ echo $LANG
en_AU.UTF-8
tony@​saturn-ubuntu64​:~/dev/perl/git/perl$ set | grep ^LC_
tony@​saturn-ubuntu64​:~/dev/perl/git/perl$

(This is an Ubuntu VM)

Tony

@p5pRT
Copy link
Author

p5pRT commented Feb 17, 2014

From @khwilliamson

Fixed by this
commit 4e6dcde395c07f3a1727b99bbf8c346fdb957c69
Author​: Karl Williamson <public@​khwilliamson.com>
Date​: Sun Feb 16 23​:03​:43 2014 -0700

Commit 65ebb05 changed the locale
initialization code to look at the LANG environment variable as a
fallback if there was a problem with a higher priority variable.

Thus, when trying to have an empty environment for testing, one now
needs to cause LANG to be unset, which wasn't the case before..This
commit adds that unset to the test that needs an empty environment.

--
Karl Williamson

@p5pRT
Copy link
Author

p5pRT commented Feb 17, 2014

@khwilliamson - Status changed from 'open' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant