Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#278 failure to find PDL typemap

critical
closed-fixed
Sisyphus
core (120)
9
2011-09-02
2011-07-25
Chris Marshall
No

There have been a number of CPAN Testers reports that die in the
make process due to an apparent inability to find the PDL typemap file.
The problem build die at the stage with calls like this:

/opt/perls/nothreads/perl-5.12.3/bin/perl "-I../../blib/arch" "-I../../blib/lib" Core.xs.PL Core.xs
Extracting Core.xs (WITH bad value support)
/opt/perls/nothreads/perl-5.12.3/bin/perl -I../../blib/arch -I../../blib/lib -I/opt/perls/nothreads/perl-5.12.3/lib/5.12.3/armv5tel-linux -I/opt/perls/nothreads/perl-5.12.3/lib/5.12.3 Core.xs.PL Core.xs
Extracting Core.xs (WITH bad value support)
/opt/perls/nothreads/perl-5.12.3/bin/perl /opt/perls/nothreads/perl-5.12.3/lib/5.12.3/ExtUtils/xsubpp -typemap /opt/perls/nothreads/perl-5.12.3/lib/5.12.3/ExtUtils/typemap -typemap typemap Core.xs > Core.xsc && mv Core.xsc Core.c
Could not find a typemap for C type 'PDL_Long *' in Core.xs, line 1195

I'm not sure if this is the usual usage but it seems all
of the failed builds of this type have the same error
message and the same explicit list of typemaps. For
reference, the URLs for a number of these test reports
are:

http://www.cpantesters.org/cpan/report/391455fc-ad94-11e0-b536-68bbcb8fbd6e
http://www.cpantesters.org/cpan/report/3e49bedc-b031-11e0-b683-5ea469fb41e3
http://www.cpantesters.org/cpan/report/83cb3418-b428-11e0-a497-f2228a8ea032

Discussion

  • Chris Marshall
    Chris Marshall
    2011-08-16

    The latest PDL-2.4.9_004 developers release has *many* FAIL
    and UNKNOWN reports all from this problem. Something is
    broken but I don't know where. If you can reproduce this problem
    then help with debugging would be appreciated.

     
  • Chris Marshall
    Chris Marshall
    2011-08-16

    • milestone: --> critical
    • priority: 5 --> 9
     
  • Sisyphus
    Sisyphus
    2011-08-16

    See:

    http://myjaanjikri.appspot.com/bugs.gentoo.org/show_bug.cgi?id=378689

    and the 2 bug reports referenced therein. They're blaming the version of Extutils::ParseXS for this. (I note that in the 3 tester reports listed above, version 3.x of that module is being used, yet on my perl-5.14.0 the version number sits at 2.2210. Is 5.14.1 really shipping a 3.x version of ExctUtils::ParseXS ? Or is it just these particular testers who have elected to install a broken version of the module ?)

    I tried to access the bug reports for ExtUtils::ParseXS to find out if this was a known issue, but rt.cpan.org is apparently down again.

    I did however look at the Changes file for ExtUtils-ParseXS-3.03 and saw this:

    ###############################
    3.03 - Thu Aug 11 08:24:00 CET 2011

    - Test fix: Try all @INC-derived typemap locations. (CPAN RT #70047)
    [Mike Sheldrake]
    ###############################

    It'd be nice to know what's in #70047 ..... and whether the "Test fix" does indeed fix it.

    Cheers,
    Rob

     
  • Chris Marshall
    Chris Marshall
    2011-08-16

    I took a look at the Core.xs line and it is the XS for the setdims(x,dims)
    routine at line 1413 in Core.xs.PL. There is a typedef for PDL_Long
    as int in pdl.h but no mention of PDL_Long in the Basic/Core/typemap
    file. Does that need an explicit typemap or should the xsubpp be
    smart enough to figure it out?

     
  • Derek Lamb
    Derek Lamb
    2011-08-16

    To answer Rob's question, my Perl 5.14.1 from MacPorts still has ExtUtils::ParseXS at 2.2210, so it's probably just those testers that upgraded.

    $ perl -MExtUtils::ParseXS -we 'print "$]\n$ExtUtils::ParseXS::VERSION\n";'
    5.014001
    2.2210

     
  • Chris Marshall
    Chris Marshall
    2011-08-16

    If we can reproduce the problem with the newer ExtUtils::ParseXS
    then it might be interesting to see if adding a PDL_Long * to the
    typemap file fixes things...

     
  • Chris Marshall
    Chris Marshall
    2011-08-17

    I upgraded to the latest ExtUtils::ParseXS and was able to
    reproduce the bug for the same cygwin setup that had passed
    before.

    I then added an explicit typemap for PDL_Long * T_PTR to
    the Basic/Core/typemap file after which the build and tests
    passed again.

    I'm not sure why this ever passed before---probably the
    DWIM feature going away with better checks in the
    current release.

    I plan to release another CPAN developers release with
    the fix this evening unless I hear otherwise.

     
  • Chad A. Davis
    Chad A. Davis
    2011-08-17

    ExtUtils::ParseXS 3.03 was installed by my smoker. Adding the typemap for PDL_Long * T_PTR to
    Basic/Core/typemap also fixed PDL-2.4.9_003 for me.

    This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi

     
  • Chris Marshall
    Chris Marshall
    2011-08-21

    Thanks to Rob, the CHM/PDL-2.4.9_007.tar.gz release has the
    revised fix (cleaner!) for the missing typemap problem.

     
  • Chris Marshall
    Chris Marshall
    2011-08-21

    • assigned_to: nobody --> sisyphus_
    • status: open --> open-fixed
     
  • Chris Marshall
    Chris Marshall
    2011-08-22

    Latest fix appears to be working well. Marking this ticket Pending to
    close in 2 weeks unless further action is required.

     
  • Chris Marshall
    Chris Marshall
    2011-08-22

    • status: open-fixed --> pending-fixed
     
  • Chris Marshall
    Chris Marshall
    2011-09-02

    • status: pending-fixed --> closed-fixed