-----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
--- transform.pd_orig 2013-01-31 19:55:49 +1100
+++ transform.pd 2013-01-31 19:56:23 +1100
@@ -3691,6 +3691,7 @@
=cut
sub t_projective {
+ use PDL::NiceSlice;
my($class) = 'PDL::Transform';
my($o) = $_[0];
if(ref $o ne 'HASH') {
--- Window.pm_orig 2013-01-31 16:07:38 +1100
+++ Window.pm 2013-01-31 16:09:53 +1100
@@ -2260,6 +2260,8 @@
use SelfLoader;
use PGPLOT;
+no PDL::NiceSlice;
+
require DynaLoader;
@ISA = qw( Exporter SelfLoader DynaLoader );
@@ -4070,6 +4072,9 @@
=cut
sub _image_xyrange {
+
+ use PDL::NiceSlice;
+
my($tr,$nx,$ny,$opt) = @_;
# Set identity $tr if no $tr is passed in. This looks funny
--- matrixops.pd_orig 2013-01-31 19:27:42 +1100
+++ matrixops.pd 2013-01-31 19:23:19 +1100
@@ -410,6 +410,7 @@
*PDL::determinant = \&determinant;
sub determinant {
+ use PDL::NiceSlice;
my($a) = shift;
my($n);
return undef unless(
@@ -1059,6 +1060,7 @@
*PDL::lu_decomp2 = \&lu_decomp2;
sub lu_decomp2 {
+ use PDL::NiceSlice;
my($in) = shift;
my($perm) = shift;
my($par) = shift;
_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl