FYI- The problem with the new PDL::NiceSlice on win32 and earlier perls is related to \r\n <-> \n translation for text files. By extending the patterns matching \n to allow for a possible \r? the filter works. Not sure why things work for more recent perls---perhaps the handling of the carriage return/newline translation is done differently.
--Chris On Fri, Feb 1, 2013 at 9:48 AM, Chris Marshall <[email protected]> wrote: > I've done a clean PDL install attempt for > SPP 5.12.3 and have been able to reproduce > the problems. I'll take a look at fixing this > weekend. > > Thanks again for the detailed info! > Chris > > On Fri, Feb 1, 2013 at 8:45 AM, Chris Marshall <[email protected]> wrote: >> Thanks for the info. That should give me the data >> I need to track down the problem. It is definitely >> a problem with the new NiceSlice processing since >> if it goes bad you typically are left with invalid perl >> code which doesn't compile. >> >> --Chris >> >> On Fri, Feb 1, 2013 at 2:15 AM, <[email protected]> wrote: >>> >>> >>> -----Original Message----- From: Chris Marshall >>> >>>> Looking at the patch, suggests it is the >>>> result of a Filter::Simple bug that I had to >>>> runtime patch to handle POD terminators >>>> correctly. >>> >>> >>> Yes, I wondered whether the intermingling of pod and code in the affected >>> files had something to do with the problem. >>> >>> Btw, the 3 attached (very simplistic) patches allow _006 to build fine on >>> all my 32-bit and 64-bit perls - for both MinGW and MS compilers. >>> >>> >>>> I'm going to bump up the minimum >>>> version for Filter::Simple to 0.86 since that >>>> is what I have on my working system. Is >>>> that the version you have on the older platforms >>>> with problems? >>> >>> >>> I have 0.88 throughout - even on the older perls that were giving the >>> problems prior to applying the attached patches, I was using 0.88. >>> >>> In a nutshell, here are the 3 problems I faced. (I doubt that they are >>> specific to Windows.) >>> >>> ~~~~~~~~~~~ >>> PROBLEM 1: >>> ~~~~~~~~~~~ >>> Any of my _006 build that built in PDL::Graphics::PGPLOT were unable to load >>> the module because of the following syntax errors: >>> >>> ############################# >>> syntax error at >>> >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Graphics/PGPLOT/Window.pm line >>> 2693, near ") ]" >>> syntax error at >>> >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Graphics/PGPLOT/Window.pm line >>> 2697, near "1) " >>> syntax error at >>> >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Graphics/PGPLOT/Window.pm line >>> 2707, near "} elsif" >>> syntax error at >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Graphics/PGPLOT/Window.pm line >>> 2719, near "}" >>> syntax error at >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Graphics/PGPLOT/Window.pm line >>> 2782, near "}" >>> syntax error at >>> >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Graphics/PGPLOT/Window.pm line >>> 2815, near "}" >>> Can't use global @_ in "my" at >>> >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Graphics/PGPLOT/Window.pm line >>> 2832, near "= @_" >>> syntax error at >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Graphics/PGPLOT/Window.pm line >>> 2846, near "}" >>> syntax error at >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Graphics/PGPLOT/Window.pm line >>> 2878, near "}" >>> syntax error at >>> >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Graphics/PGPLOT/Window.pm line >>> 2909, near "}" >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Graphics/PGPLOT/Window.pm has too >>> many errors. >>> Compilation failed in require at >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Graphics/PGPLOT.pm line 148, >>> <DATA> line 207. >>> BEGIN failed--compilation aborted at >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/ >>> Graphics/PGPLOT.pm line 148, <DATA> line 207. >>> Compilation failed in require at (eval 38) line 1, <DATA> line 207. >>> BEGIN failed--compilation aborted at (eval 38) line 1, <DATA> line 207. >>> ############################# >>> >>> ~~~~~~~~~~~ >>> PROBLEM 2: >>> ~~~~~~~~~~~ >>> >>> With any perls older than 5.14.0, slatec.pd could not be processed during >>> the dmake stage because of the following syntax errors in MatrixOps.pm >>> >>> ############################# >>> C:\MinGW\perl512\bin\perl.exe -IC:/sisyphusion/PDL-2.4.11_005/blib/lib >>> -IC:/sisyphusion/PDL-2.4.11_005/blib/arch >>> "-MPDL::PP qw/PDL::Slatec PDL::Slatec Slatec/" slatec.pd >>> syntax error at C:/sisyphusion/PDL-2.4.11_005/blib/lib/PDL/MatrixOps.pm line >>> 430, near "0:" >>> syntax error at C:/sisyphusion/PDL-2.4.11_005/blib/lib/PDL/MatrixOps.pm line >>> 435, near "1:" >>> syntax error at C:/sisyphusion/PDL-2.4.11_005/blib/lib/PDL/MatrixOps.pm line >>> 436, near "0:" >>> syntax error at C:/sisyphusion/PDL-2.4.11_005/blib/lib/PDL/MatrixOps.pm line >>> 853, near "0:" >>> syntax error at C:/sisyphusion/PDL-2.4.11_005/blib/lib/PDL/MatrixOps.pm line >>> 863, near "$col:" >>> syntax error at C:/sisyphusion/PDL-2.4.11_005/blib/lib/PDL/MatrixOps.pm line >>> 873, near "$whc(" >>> syntax error at C:/sisyphusion/PDL-2.4.11_005/blib/lib/PDL/MatrixOps.pm line >>> 874, near "(:" >>> syntax error at C:/sisyphusion/PDL-2.4.11_005/blib/lib/PDL/MatrixOps.pm line >>> 893, near "1:" >>> syntax error at C:/sisyphusion/PDL-2.4.11_005/blib/lib/PDL/MatrixOps.pm line >>> 1004, near "0:" >>> syntax error at C:/sisyphusion/PDL-2.4.11_005/blib/lib/PDL/MatrixOps.pm line >>> 1014, near "1:" >>> C:/sisyphusion/PDL-2.4.11_005/blib/lib/PDL/MatrixOps.pm has too many errors. >>> Compilation failed in require at slatec.pd line 248. >>> BEGIN failed--compilation aborted at slatec.pd line 248. >>> dmake: Error code 255, while making 'Slatec.pm' >>> dmake: Error code 255, while making 'subdirs' >>> dmake: Error code 255, while making 'subdirs' >>> ############################# >>> >>> This meant that _006 couldn't even be built on those older perls. >>> >>> ~~~~~~~~~~~ >>> PROBLEM 3: >>> ~~~~~~~~~~~ >>> >>> On perls older than 5.14.0, PDL::Transform could not be loaded because of >>> the following syntax errors: >>> >>> ###################################### >>> >>> t/transform.t ............... syntax error at >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Transform.pm line 3073, near >>> "$p(" >>> syntax error at C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Transform.pm line >>> 3074, near "$p(" >>> syntax error at C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Transform.pm line >>> 3086, near "$p(" >>> syntax error at C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Transform.pm line >>> 3090, near "0:" >>> syntax error at C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Transform.pm line >>> 3107, near "0:" >>> syntax error at C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Transform.pm line >>> 3115, near "0:" >>> BEGIN not safe after errors--compilation aborted at >>> C:\sisyphusion\PDL-2.4.11_006\blib\lib/PDL/Transform.pm line 3137. >>> Compilation failed in require at t/transform.t line 8. >>> BEGIN failed--compilation aborted at t/transform.t line 8. >>> ###################################### >>> >>> I'll send the perl-V outputs in a separate (offlist) post shortly. >>> >>> Cheers, >>> Rob _______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
