develooper Front page | perl.perl5.porters | Postings from May 2010

[perl #74864] test suite failure on powerpc with -Duselongdouble

Thread Next
Niko Tyni
May 3, 2010 06:44
[perl #74864] test suite failure on powerpc with -Duselongdouble
Message ID:
# New Ticket Created by  Niko Tyni 
# Please include the string:  [perl #74864]
# in the subject line of all future correspondence about this issue. 
# <URL: >

This is a bug report for perl from Niko Tyni <>,
generated with the help of perlbug 1.39 running under perl 5.12.0.

I'm seeing 5.12.0 test failures on the Debian powerpc architecture
with -Duselongdouble -Duse64bitint (but not with just -Duse64bitint.)

Test Summary Report
op/inc.t                                                        (Wstat: 65280 Tests: 34 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 54 tests but ran 34.
op/pack.t                                                       (Wstat: 0 Tests: 14697 Failed: 28)
  Failed tests:  521, 694, 749, 804, 1024, 1079, 1134, 1354
                1409, 1464, 1684, 1739, 1794, 2014, 2069
                2124, 2344, 2399, 2454, 2894, 2949, 3004
                3059, 3444, 3499, 13234, 13289, 13344
op/stash.t                                                      (Wstat: 0 Tests: 31 Failed: 0)
  TODO passed:   26
../cpan/Math-BigInt/t/bare_mbi.t                                (Wstat: 0 Tests: 3273 Failed: 1)
  Failed test:  3087
../cpan/Math-BigInt/t/bigintpm.t                                (Wstat: 0 Tests: 3279 Failed: 1)
  Failed test:  3093
../cpan/Math-BigInt/t/sub_mbi.t                                 (Wstat: 0 Tests: 3278 Failed: 1)
  Failed test:  3087
Files=1803, Tests=357905, 12620 wallclock secs (1354.30 usr 35.30 sys + 10177.06 cusr 276.30 csys = 11842.96 CPU)
Result: FAIL

At least op/pack.t fails on 5.10.1 too, so this is not a 5.12 regression.

I assume the 128-bit long doubles on this platform are actually a sum of
two 64-bit doubles, which "does not conform to the IEEE floating-point
standard" [1] and "has serious arithmetic anomalies" [2].

If this something that can not be supported, perhaps Configure should
detect such a platform and disable the longdouble setting or error out?

(This is also )


Site configuration information for perl 5.12.0:

Configured by Debian Project at Sun May  2 12:18:53 UTC 2010.

Summary of my perl5 (revision 5 version 12 subversion 0) configuration:
    osname=linux, osvers=2.6.26-2-powerpc, archname=powerpc-linux-gnu-thread-multi-64int-ld
    uname='linux pescetti 2.6.26-2-powerpc #1 tue mar 9 23:07:18 utc 2010 ppc gnulinux '
    config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=powerpc-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.12 -Darchlib=/usr/lib/perl/5.12 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.12.0 -Dsitearch=/usr/local/lib/perl/5.12.0 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dusemorebits -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=both -Doptimize=-O2 -O0 -Uuseshrplib -des'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=undef, uselongdouble=define
    usemymalloc=n, bincompat5005=undef
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -O0 -g',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
    ccversion='', gccversion='4.4.3', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=87654321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long long', ivsize=8, nvtype='long double', nvsize=16, Off_t='off_t', lseeksize=8
    alignbytes=16, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64
    libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
    perllibs=-ldl -lm -lpthread -lc -lcrypt
    libc=/lib/, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -O0 -g -L/usr/local/lib -fstack-protector'

Locally applied patches:
    DEBPKG:debian/arm_thread_stress_timeout - Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts
    DEBPKG:debian/cpan_config_path - Set location of CPAN::Config to /etc/perl as /usr may not be writable.
    DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
    DEBPKG:debian/db_file_ver - Remove overly restrictive DB_File version check.
    DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information.
    DEBPKG:debian/enc2xs_inc - Tweak enc2xs to follow symlinks and ignore missing @INC directories.
    DEBPKG:debian/errno_ver - Remove Errno version check due to upgrade problems with long-running processes.
    DEBPKG:debian/extutils_hacks - Various debian-specific ExtUtils changes
    DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets.
    DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor.
    DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy.
    DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
    DEBPKG:debian/m68k_thread_stress - Disable some threads tests on m68k for now due to missing TLS.
    DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian
    DEBPKG:debian/module_build_man_extensions - Adjust Module::Build manual page extensions for the Debian Perl policy
    DEBPKG:debian/prune_libs - Prune the list of libraries wanted to what we actually need.
    DEBPKG:debian/use_gdbm - Explicitly link against -lgdbm_compat in ODBM_File/NDBM_File. 
    DEBPKG:fixes/net_smtp_docs - [ #36038] Document the Net::SMTP 'Port' option
    DEBPKG:fixes/processPL - [ #17224] Always use PERLRUNINST when building perl modules.
    DEBPKG:debian/perlivp - Make perlivp skip include directories in /usr/local
    DEBPKG:debian/disable-zlib-bundling - Disable zlib bundling in Compress::Raw::Zlib
    DEBPKG:debian/cpanplus_definstalldirs - Configure CPANPLUS to use the site directories by default.
    DEBPKG:debian/cpanplus_config_path - Save local versions of CPANPLUS::Config::System into /etc/perl.
    DEBPKG:fixes/autodie-flock - Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc
    DEBPKG:debian/devel-ppport-ia64-optim - Work around an ICE on ia64
    DEBPKG:fixes/cpanplus-without-home - [ #52988] Fix CPANPLUS test failures when HOME doesn't exist
    DEBPKG:patchlevel - List packaged patches for 5.12.0-1 in patchlevel.h

@INC for perl 5.12.0:

Environment for perl 5.12.0:
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PERL_BADLANG (unset)

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About