Opened 10 years ago

Closed 10 years ago

#46414 closed defect (fixed)

p5-devel-size: fails to build

Reported by: mojca (Mojca Miklavec) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: p5-devel-size

Description

--->  Building p5.16-devel-size
DEBUG: Environment:
CC_PRINT_OPTIONS='YES'
CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_mports_dports_perl_p5-devel-size/p5.16-devel-size/work/.CC_PRINT_OPTIONS'
CPATH='/opt/local/include'
LIBRARY_PATH='/opt/local/lib'
MACOSX_DEPLOYMENT_TARGET='10.10'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_mports_dports_perl_p5-devel-size/p5.16-devel-size/work/Devel-Size-0.69" && /usr/bin/make -j8 -w all'
DEBUG: Executing command line:  cd "/opt/local/var/macports/build/_opt_mports_dports_perl_p5-devel-size/p5.16-devel-size/work/Devel-Size-0.69" && /usr/bin/make -j8 -w all
make: Entering directory `/opt/local/var/macports/build/_opt_mports_dports_perl_p5-devel-size/p5.16-devel-size/work/Devel-Size-0.69'
/opt/local/bin/perl5.16 "-Iinc" /opt/local/lib/perl5/5.16.3/ExtUtils/xsubpp  -typemap /opt/local/lib/perl5/5.16.3/ExtUtils/typemap  Size.xs > Size.xsc && mv Size.xsc Size.c
Running Mkbootstrap for Devel::Size ()
chmod 644 Size.bs
cp Size.bs blib/arch/auto/Devel/Size/Size.bs
chmod 644 blib/arch/auto/Devel/Size/Size.bs
cp lib/Devel/Size.pm blib/lib/Devel/Size.pm
/usr/bin/clang -c   -pipe -Os -fno-common -DPERL_DARWIN -I/opt/local/include -fno-strict-aliasing -fstack-protector -I/opt/local/include -arch x86_64 -O3   -DVERSION=\"0.69\" -DXS_VERSION=\"0.69\"  "-I/opt/local/lib/perl5/5.16.3/darwin-thread-multi-2level/CORE"   Size.c
Size.xs:202:42: error: no member named 'nparens' in 'struct p5rx'
  total_size += sizeof(I32) * baseregex->nparens * 2;
                              ~~~~~~~~~  ^
Size.xs:203:35: error: no member named 'precomp' in 'struct p5rx'
  total_size += strlen(baseregex->precomp);
                       ~~~~~~~~~  ^
Size.xs:328:45: error: no member named 'cop_label' in 'struct cop'; did you mean 'cop_line'?
      if (check_new(tracking_hash, basecop->cop_label)) {
                                            ^~~~~~~~~
                                            cop_line
/opt/local/lib/perl5/5.16.3/darwin-thread-multi-2level/CORE/cop.h:387:17: note: 'cop_line' declared here
    line_t      cop_line;       /* line # of this command */
                ^
Size.xs:328:36: warning: incompatible integer to pointer conversion passing 'line_t' (aka 'unsigned int') to parameter of type 'const void *' [-Wint-conversion]
      if (check_new(tracking_hash, basecop->cop_label)) {
                                   ^~~~~~~~~~~~~~~~~~
Size.xs:153:45: note: passing argument to parameter 'thing' here
IV check_new(HV *tracking_hash, const void *thing) {
                                            ^
Size.xs:329:32: error: no member named 'cop_label' in 'struct cop'; did you mean 'cop_line'?
        total_size += strlen(basecop->cop_label);
                                      ^~~~~~~~~
                                      cop_line
/opt/local/lib/perl5/5.16.3/darwin-thread-multi-2level/CORE/cop.h:387:17: note: 'cop_line' declared here
    line_t      cop_line;       /* line # of this command */
                ^
Size.xs:329:23: warning: incompatible integer to pointer conversion passing 'line_t' (aka 'unsigned int') to parameter of type 'const char *' [-Wint-conversion]
        total_size += strlen(basecop->cop_label);
                             ^~~~~~~~~~~~~~~~~~
/usr/include/string.h:82:28: note: passing argument to parameter here
size_t   strlen(const char *);
                            ^
Size.xs:387:8: error: duplicate case value 'SVt_IV'
  case SVt_RV:
       ^
/opt/local/lib/perl5/5.16.3/darwin-thread-multi-2level/CORE/sv.h:80:18: note: expanded from macro 'SVt_RV'
#  define SVt_RV        SVt_IV
                        ^
Size.xs:369:8: note: previous case defined here
  case SVt_IV:
       ^
2 warnings and 5 errors generated.
make: *** [Size.o] Error 1
make: Leaving directory `/opt/local/var/macports/build/_opt_mports_dports_perl_p5-devel-size/p5.16-devel-size/work/Devel-Size-0.69'
Command failed:  cd "/opt/local/var/macports/build/_opt_mports_dports_perl_p5-devel-size/p5.16-devel-size/work/Devel-Size-0.69" && /usr/bin/make -j8 -w all
Exit code: 2
Error: org.macports.build for port p5.16-devel-size returned: command execution failed
DEBUG: Error code: CHILDSTATUS 37857 2

(See also #46322 for buildbot logs.)

Change History (3)

comment:1 Changed 10 years ago by mojca (Mojca Miklavec)

I upgraded the port in r131066. It seems that the above reported problem is gone, but the tests fail with Perl 5.20 which is consistent with reports on CPAN:

--->  Testing p5.20-devel-size
Running Mkbootstrap for Devel::Size ()
chmod 644 Size.bs
PERL_DL_NONLAZY=1 /opt/local/bin/perl5.20 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/basic.t ..... 
Failed 21/30 subtests 
t/code.t ...... 
Failed 14/14 subtests 
t/globs.t ..... 
Failed 35/44 subtests 

#   Failed test 'the magic object is counted'
#   at t/magic.t line 55.
#     '1242'
#         >
#     '1252'
# Looks like you failed 1 test of 18.
t/magic.t ..... 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/18 subtests 
t/pod.t ....... ok
t/pod_cov.t ... ok
t/pvbm.t ...... ok
t/recurse.t ... 
Failed 4/84 subtests 
t/warnings.t .. skipped: no Test::PerlRun found

Test Summary Report
-------------------
t/basic.t   (Wstat: 11 Tests: 9 Failed: 0)
  Non-zero wait status: 11
  Parse errors: Bad plan.  You planned 30 tests but ran 9.
t/code.t    (Wstat: 11 Tests: 0 Failed: 0)
  Non-zero wait status: 11
  Parse errors: Bad plan.  You planned 14 tests but ran 0.
t/globs.t   (Wstat: 11 Tests: 9 Failed: 0)
  Non-zero wait status: 11
  Parse errors: Bad plan.  You planned 44 tests but ran 9.
t/magic.t   (Wstat: 256 Tests: 18 Failed: 1)
  Failed test:  11
  Non-zero exit status: 1
t/pvbm.t    (Wstat: 0 Tests: 2 Failed: 0)
  TODO passed:   2
t/recurse.t (Wstat: 11 Tests: 80 Failed: 0)
  Non-zero wait status: 11
  Parse errors: Bad plan.  You planned 84 tests but ran 80.
Files=9, Tests=120,  2 wallclock secs ( 0.09 usr  0.04 sys +  0.36 cusr  0.10 csys =  0.59 CPU)
Result: FAIL
Failed 5/9 test programs. 1/120 subtests failed.
make: *** [test_dynamic] Error 255

comment:2 Changed 10 years ago by dbevans (David B. Evans)

The problem with 5.20 is discussed upstream in CPAN bug 95493.

comment:3 Changed 10 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: newclosed

I've updated the port to include support for perl5.20 in r133136 after applying two patches suggested upstream. (See CPAN #88180 and CPAN #88182).

The first patch fixes a legitimate error in the C code when running on perl5.20 and the second is a patch to fix the test itself. The patches are applied only for perl > 5.18 since they work correctly for the earlier versions.

These patches allow all subtests but one (193/194) to complete successfully and the remaining test appears to likely be one that is inappropriate due to design changes introduced in perl5.20. See CPAN #122322 for the upstream discussion on the subject.

Closing the ticket since I believe the remaining failure seems to be one of testing methodology not actual functionality of the module itself.

Note: See TracTickets for help on using tickets.