PDLPorters / PDL-Stats

Statistics modules in Perl Data Language, with a quick-start guide for non-PDL people. They make the PDL shell work like R, but with PDL broadcasting (fast automatic iteration) of procedures including t-test, linear regression, and k-means clustering.
https://p3rl.org/PDL::Stats
12 stars 4 forks source link

Fails to build with PDL 2.066 #30

Closed sebastic closed 2 years ago

sebastic commented 2 years ago

As reported in Debian Bug #1003514, PDL-Stats fails to build with PDL 2.066:

make[2]: Leaving directory '/build/libpdl-stats-perl-0.80/TS'
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
# 
# Versions for all modules listed in MYMETA.json (including optional ones):
# 
# === Configure Requires ===
# 
#     Module     Want  Have Where                                Howbig
#     --------- ----- ----- ------------------------------------ ------
#     PDL::Core 2.008 2.028 /usr/lib/x86_64-linux-gnu/perl5/5.32 104076
# 
# === Build Requires ===
# 
#     Module     Want  Have Where                                Howbig
#     --------- ----- ----- ------------------------------------ ------
#     PDL::Core 2.008 2.028 /usr/lib/x86_64-linux-gnu/perl5/5.32 104076
# 
# === Test Requires ===
# 
#     Module      Want     Have Where                                Howbig
#     ---------- ----- -------- ------------------------------------ ------
#     PDL::Core  2.008    2.028 /usr/lib/x86_64-linux-gnu/perl5/5.32 104076
#     Test::More   any 1.302175 /usr/share/perl/5.32                  52697
# 
# === Runtime Requires ===
# 
#     Module  Want  Have Where                                Howbig
#     ------ ----- ----- ------------------------------------ ------
#     PDL    2.057 2.066 /usr/lib/x86_64-linux-gnu/perl5/5.32   6190
# 
# === Runtime Recommends ===
# 
#     Module                Want  Have Where                                Howbig
#     --------------------- ---- ----- ------------------------------------ ------
#     PDL::Graphics::PGPLOT  any undef /usr/lib/x86_64-linux-gnu/perl5/5.32  15940
#     PDL::Slatec            any undef /usr/lib/x86_64-linux-gnu/perl5/5.32  34127
# 
t/00-report-prereqs.t .. 
1..1
ok 1
ok
t/stats_basic.t ........ 
ok 1 - standard deviation of [0 1 2 3 4]
ok 2 - unbiased standard deviation of [0 1 2 3 4]
ok 3 - variance of [0 1 2 3 4]
ok 4 - unbiased variance of [0 1 2 3 4]
ok 5 - standard error of [0 1 2 3 4]
ok 6 - sum of squared deviations from the mean of [0 1 2 3 4]
ok 7 - sample skewness of [0 1 2 3 4]
ok 8 - unbiased sample skewness of [0 1 2 3 4]
ok 9 - sample kurtosis of [0 1 2 3 4]
ok 10 - unbiased sample kurtosis of [0 1 2 3 4]
ok 11 - ss for [1 1 1 1 2 3 4 4 4 4 4 4]
ok 12 - ss for [1 2 2 2 3 3 3 3 4 4 5 5]
ok 13 - ss for [1 1 1 2 2 3 3 4 4 5 5 5]
ok 14 - standard deviation of [0 1 2 3 4 BAD]
ok 15 - unbiased standard deviation of [0 1 2 3 4 BAD]
ok 16 - variance of [0 1 2 3 4 BAD]
ok 17 - unbiased variance of [0 1 2 3 4 BAD]
ok 18 - standard error of [0 1 2 3 4 BAD]
ok 19 - sum of squared deviations from the mean of [0 1 2 3 4 BAD]
ok 20 - sample skewness of [0 1 2 3 4 BAD]
ok 21 - unbiased sample skewness of [0 1 2 3 4 BAD]
ok 22 - sample kurtosis of [0 1 2 3 4 BAD]
ok 23 - unbiased sample kurtosis of [0 1 2 3 4 BAD]
ok 24 - sample covariance of [0 1 2 3 4] and [0 0 0 1 1]
ok 25 - Pearson correlation coefficient of [0 1 2 3 4] and [0 0 0 1 1]
ok 26 - Number of good pairs between [0 1 2 3 4] and [0 0 0 1 1]
ok 27 - t significance test of Pearson correlation coefficient of [0 1 2 3 4] and [0 0 0 1 1]
ok 28 - correlation calculated from dev_m values of [0 1 2 3 4] and [0 0 0 1 1]
ok 29 - sample covariance with bad data of [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1]
ok 30 - Pearson correlation coefficient with bad data of [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1]
ok 31 - Number of good pairs between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] with bad values taken into account
ok 32 - t signifiance test of Pearson correlation coefficient with bad data of [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1]
ok 33 - correlation calculated from dev_m values with bad data of [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1]
ok 34 - t-test between [0 1 2 3 4] and [0 0 0 1 1] - 't' output
ok 35 - t-test between [0 1 2 3 4] and [0 0 0 1 1] - 'df' output
ok 36 - t-test with non-equal variance between [0 1 2 3 4] and [0 0 0 1 1] - 't' output
ok 37 - t-test with non-equal variance between [0 1 2 3 4] and [0 0 0 1 1] - 'df' output
ok 38 - paired sample t-test between [0 1 2 3 4] and [0 0 0 1 1] - 't' output
ok 39 - paired sample t-test between [0 1 2 3 4] and [0 0 0 1 1] - 'df' output
ok 40 - t-test with bad values between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] - 't' output
ok 41 - t-test with bad values between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] - 'd' output
ok 42 - t-test with non-equal variance with bad values between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] - 't' output
ok 43 - t-test with non-equal variance with bad values between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] - 'df' output
ok 44 - paired sample t-test with bad values between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] - 't' output
ok 45 - paired sample t-test with bad values between [0 1 2 3 4 BAD] and [BAD 0 0 1 1 1] - 'df' output
ok 46 - rtable data dim
ok 47 - rtable bad elem
ok 48 - cov_table
ok 49 - cov_table bad val
ok 50 - Square Pearson correlation table
ok 51 - Square Pearson correlation table with bad data
ok 52 - Bad value input to stdv makes the stdv itself bad
ok 53 - binomial_test
ok 54 - group_by single factor equal n
ok 55 - group_by single factor label
ok 56 - group_by single factor unequal n
ok 57 - group_by multiple factors
ok 58 - group_by multiple factors label
ok 59 - _array_to_pdl
ok 60 - _array_to_pdl with missing value undef
ok 61 - _array_to_pdl with missing value undef correctly coded
ok 62 - _array_to_pdl with missing value BAD
ok 63 - _array_to_pdl with missing value BAD correctly coded
1..63
ok

#   Failed test 'use PDL::Stats::GLM;'
#   at t/stats_glm.t line 9.
#     Tried to use 'PDL::Stats::GLM'.
#     Error:  syntax error at kmeans.pd line 446, near "$a("
# syntax error at kmeans.pd line 447, near "$a("
# syntax error at kmeans.pd line 449, near "$a( "
# Compilation failed in require at glm.pd line 13.
# BEGIN failed--compilation aborted at glm.pd line 13.
# Compilation failed in require at t/stats_glm.t line 9.
# BEGIN failed--compilation aborted at t/stats_glm.t line 9.
Can't locate object method "fill_m" via package "PDL" at t/stats_glm.t line 36.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 2 just after 2.
t/stats_glm.t .......... 
ok 1 - use PDL::Stats::Basic;
not ok 2 - use PDL::Stats::GLM;
Dubious, test returned 2 (wstat 512, 0x200)
Failed 1/2 subtests 

#   Failed test 'use PDL::Stats::Kmeans;'
#   at t/stats_kmeans.t line 9.
#     Tried to use 'PDL::Stats::Kmeans'.
#     Error:  syntax error at kmeans.pd line 446, near "$a("
# syntax error at kmeans.pd line 447, near "$a("
# syntax error at kmeans.pd line 449, near "$a( "
# Compilation failed in require at t/stats_kmeans.t line 9.
# BEGIN failed--compilation aborted at t/stats_kmeans.t line 9.
Undefined subroutine &main::iv_cluster called at t/stats_kmeans.t line 27.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 2.
t/stats_kmeans.t ....... 
ok 1 - use PDL::Stats::Basic;
not ok 2 - use PDL::Stats::Kmeans;
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 1/2 subtests 
syntax error at kmeans.pd line 446, near "$a("
syntax error at kmeans.pd line 447, near "$a("
syntax error at kmeans.pd line 449, near "$a( "
Compilation failed in require at glm.pd line 13.
BEGIN failed--compilation aborted at glm.pd line 13.
Compilation failed in require at (eval 16) line 3.
BEGIN failed--compilation aborted at (eval 16) line 3.
BEGIN failed--compilation aborted at t/stats_ols_rptd.t line 7.
t/stats_ols_rptd.t ..... 
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run 

#   Failed test 'use PDL::Stats::TS;'
#   at t/stats_ts.t line 9.
#     Tried to use 'PDL::Stats::TS'.
#     Error:  syntax error at kmeans.pd line 446, near "$a("
# syntax error at kmeans.pd line 447, near "$a("
# syntax error at kmeans.pd line 449, near "$a( "
# Compilation failed in require at ts.pd line 29.
# BEGIN failed--compilation aborted at ts.pd line 29.
# Compilation failed in require at t/stats_ts.t line 9.
# BEGIN failed--compilation aborted at t/stats_ts.t line 9.
Can't locate object method "acvf" via package "PDL" at t/stats_ts.t line 27.
# Looks like your test exited with 255 just after 1.
t/stats_ts.t ........... 
1..23
not ok 1 - use PDL::Stats::TS;
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 23/23 subtests 

Test Summary Report
-------------------
t/stats_glm.t        (Wstat: 512 Tests: 2 Failed: 1)
  Failed test:  2
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/stats_kmeans.t     (Wstat: 65280 Tests: 2 Failed: 1)
  Failed test:  2
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
t/stats_ols_rptd.t   (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
t/stats_ts.t         (Wstat: 65280 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 23 tests but ran 1.
Files=6, Tests=69, 17 wallclock secs ( 0.03 usr  0.02 sys + 16.64 cusr  0.13 csys = 16.82 CPU)
Result: FAIL
Failed 4/6 test programs. 3/69 subtests failed.
make[1]: *** [Makefile:944: test_dynamic] Error 255
make[1]: Leaving directory '/build/libpdl-stats-perl-0.80'

Full buildlog

CC: @mohawk2

mohawk2 commented 2 years ago

Thanks! Fixed in 0.81, just released.