Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 935393

Summary: dev-perl/Locale-gettext-1.70.0-r1 test fail
Product: Gentoo Linux Reporter: Arniii <lg3dx6fd>
Component: Current packagesAssignee: Gentoo Perl team <perl>
Status: UNCONFIRMED ---    
Severity: normal CC: hatler.jaremy, lg3dx6fd
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: environment // profile default/linux/amd64/23.0/split-usr/desktop/plasma gcc-13.2.1_p20240210 O3 pipe march=native(verbose) lto graphite ggdb3
/etc/portage/make.conf // profile default/linux/amd64/23.0/split-usr/desktop/plasma gcc-13 O3 pipe march=native(verbose) lto graphite ggdb3 testing FEATUREs : testing

Description Arniii 2024-07-03 08:27:57 UTC
Created attachment 896834 [details]
environment // profile default/linux/amd64/23.0/split-usr/desktop/plasma gcc-13.2.1_p20240210 O3 pipe march=native(verbose) lto graphite ggdb3

build.log:

```
 * Package:    dev-perl/Locale-gettext-1.70.0-r1:0
 * Repository: gentoo
 * Maintainer: perl@gentoo.org
 * USE:        abi_x86_64 amd64 elibc_glibc kernel_linux test
 * FEATURES:   installsources network-sandbox nostrip preserve-libs sandbox test userpriv usersandbox
 * Applying Locale-gettext-1.70.0-no-dot-inc.patch ...                                                                                                                                                                           [ ok ]
 * Using ExtUtils::MakeMaker
 * perl Makefile.PL AR=x86_64-pc-linux-gnu-ar CC=x86_64-pc-linux-gnu-gcc CPP=x86_64-pc-linux-gnu-gcc -E LD=x86_64-pc-linux-gnu-gcc NM=x86_64-pc-linux-gnu-nm RANLIB=x86_64-pc-linux-gnu-ranlib OPTIMIZE=-O3 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches LDFLAGS=-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--defsym=__gentoo_check_ldflags__=0 PREFIX=/usr INSTALLDIRS=vendor INSTALLMAN3DIR=none
checking for gettext... yes
checking for dgettext... yes
checking for ngettext... yes
checking for bind_textdomain_codeset... yes
Checking if your kit is complete...
Looks good
'CPP' is not a known MakeMaker parameter name.
'NM' is not a known MakeMaker parameter name.
Generating a Unix-style Makefile
Writing Makefile for Locale::gettext
Writing MYMETA.yml and MYMETA.json
"/usr/bin/perl" "/usr/lib64/perl5/5.38/ExtUtils/xsubpp"  -typemap '/usr/lib64/perl5/5.38/ExtUtils/typemap'  gettext.xs > gettext.xsc
Running Mkbootstrap for gettext ()
chmod 644 "gettext.bs"
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- gettext.bs blib/arch/auto/Locale/gettext/gettext.bs 644
cp gettext.pm blib/lib/Locale/gettext.pm
Please specify prototyping behavior for gettext.xs (see perlxs manual)
mv gettext.xsc gettext.c
x86_64-pc-linux-gnu-gcc -c   -O3 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches -fno-strict-aliasing -DNO_PERL_RAND_SEED -fwrapv -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches   -DVERSION=\"1.07\" -DXS_VERSION=\"1.07\" -fPIC "-I/usr/lib64/perl5/5.38/x86_64-linux/CORE"   gettext.c
rm -f blib/arch/auto/Locale/gettext/gettext.so
x86_64-pc-linux-gnu-gcc  -shared -O3 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ggdb3 -frecord-gcc-switches -fno-strict-aliasing -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--defsym=__gentoo_check_ldflags__=0  gettext.o -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--defsym=__gentoo_check_ldflags__=0 -o blib/arch/auto/Locale/gettext/gettext.so  \
      \

chmod 755 blib/arch/auto/Locale/gettext/gettext.so
 * Test::Harness Jobs=24
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- gettext.bs blib/arch/auto/Locale/gettext/gettext.bs 644
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/bind.t ....... ok
t/use.t ........ ok
===(       3;0  1/1  0/1  0/1 )=========================================# Failed test 1 in t/frconvert.t at line 23
#  t/frconvert.t line 23 is:            ok(0);
t/frconvert.t .. Failed 1/1 subtests
===(       4;0  1/1  0/1 )==============================================# Failed test 1 in t/jaconvert.t at line 24
#  t/jaconvert.t line 24 is:            ok(0);
t/jaconvert.t .. Failed 1/1 subtests
t/raw.t ........ 1/1 # Failed test 1 in t/raw.t at line 15
#  t/raw.t line 15 is:  ok(0);
t/raw.t ........ Failed 1/1 subtests

Test Summary Report
-------------------
t/frconvert.t (Wstat: 0 Tests: 1 Failed: 1)
  Failed test:  1
t/jaconvert.t (Wstat: 0 Tests: 1 Failed: 1)
  Failed test:  1
t/raw.t      (Wstat: 0 Tests: 1 Failed: 1)
  Failed test:  1
Files=5, Tests=5,  0 wallclock secs ( 0.01 usr  0.01 sys +  0.06 cusr  0.02 csys =  0.10 CPU)
Result: FAIL
Failed 3/5 test programs. 3/5 subtests failed.
make: *** [Makefile:1024: test_dynamic] Error 255
 * ERROR: dev-perl/Locale-gettext-1.70.0-r1::gentoo failed (test phase):
 *   emake failed
 *
 * If you need support, post the output of `emerge --info '=dev-perl/Locale-gettext-1.70.0-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-perl/Locale-gettext-1.70.0-r1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-perl/Locale-gettext-1.70.0-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-perl/Locale-gettext-1.70.0-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-perl/Locale-gettext-1.70.0-r1/work/Locale-gettext-1.07'
 * S: '/var/tmp/portage/dev-perl/Locale-gettext-1.70.0-r1/work/Locale-gettext-1.07'
```
Comment 1 Arniii 2024-07-03 08:31:07 UTC
Created attachment 896835 [details]
/etc/portage/make.conf // profile default/linux/amd64/23.0/split-usr/desktop/plasma gcc-13 O3 pipe march=native(verbose) lto graphite ggdb3 testing FEATUREs : testing
Comment 2 Jaremy Hatler 2024-07-18 13:55:43 UTC
I also ran into this on a similar config (lto + graphite) while changing profiles from 17.1/systemd/merged-usr to 23.0/hardened/systemd. It occurred during my final rebuild of @world.

In case it's relevant, I also upgraded the following before the world rebuild.

gcc (13.2.1_p20240210  -> 14.1.1_p20240622)
perl (5.38 -> 5.40)
binutils (2.41 -> 2.42)
glibc (2.38->2.39)

According to this PR from 2017 (unmerged), the tests don't like the C.utf8 locale.

https://github.com/vandry/Perl-Locale-gettext/issues/7

My make.conf (and the one attached to this bug) sets LC_MESSAGES to C.utf8. This was fine the last time I built Locale-gettext, but is problematic now. Commenting that line allows my normal locale (en_US.UTF-8) to be used during the build, which works.

I wonder if moving to glibc 2.39 is what caused this to begin...

Locally I solved this by overriding LC_MESSAGES just for dev-perl/Locale-gettext using my package.env file, ensuring it uses my normal locale instead of C.utf8. That's not portable or suitable for the ebuild though.