Hi Doug,

Thanks for your answer. It happens in openSUSE 12.3, i586. I have just
tried in openSUSE 64bit and works just fine, all test passing OK. No idea
what's going on 32bit.

On a side note, I think that there are two changes that might be useful to
Makefile.PL in order to let PDL::NetCDF install smoothly from CPAN:

1. commenting out the requirement for PDL 2.2 (line 85)
2. adding "/usr/local/lib64" to the library paths to be searched (after
line 16, for example)

Cheers and thanks again!

Hernán



2013/9/16 Douglas Hunt <[email protected]>

> Hi Hernan:  Sorry, I'm coming to this late.  Which OS does this occur for?
> I'd be happy to check this out if this happens for Linux.  It sounds like
> this is not a problem in PDL::NetCDF proper, but it is likely fixable in
> the PDL::NetCDF XS code.
>
> Regards,
>
>   Doug Hunt
>
>
> On Mon, 16 Sep 2013, Hernán De Angelis wrote:
>
>  Thanks again Rob for your help and interest!
>>
>> I added the line you suggested to DynaLoader.pm (I guess you meant lines
>> 212 and 213). Below is the output of 'make
>> test'.  In the interim I realized that NetCDF has a new verion: 4.3, and
>> updated it. The problem persists though.
>>
>> I am very busy this week so I will probably not have time to investigate
>> this further. I will report back when I find
>> something. Thanks for your help.
>>
>> Hernán
>>
>>
>> PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
>> "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
>> t/01-Netcdf3.t .. 1/52
>> #   Failed test 'use PDL;'
>> #   at t/01-Netcdf3.t line 6.
>> #     Tried to use 'PDL'.
>> #     Error:  Unrecognized character \xE2; marked by <-- HERE after warn
>> <-- HERE near column 6 at
>> /usr/lib/perl5/5.16.2/i586-**linux-thread-multi/DynaLoader.**pm line 212.
>> # Compilation failed in require at Basic/Core/Core.pm.PL (i.e.
>> PDL::Core.pm) line 315.
>> # BEGIN failed--compilation aborted at Basic/Core/Core.pm.PL (i.e.
>> PDL::Core.pm) line 315.
>> # Compilation failed in require at (eval 6) line 6.
>> # BEGIN failed--compilation aborted at (eval 6) line 6.
>> # BEGIN failed--compilation aborted at (eval 5) line 2.
>>
>> #   Failed test 'use PDL::NetCDF;'
>> #   at t/01-Netcdf3.t line 7.
>> #     Tried to use 'PDL::NetCDF'.
>> #     Error:  Attempt to reload PDL/Core.pm aborted.
>> # Compilation failed in require at /root/.cpan/build/PDL-NetCDF-**
>> 4.17-5KE3nB/blib/lib/PDL/**NetCDF.pm line 10.
>> # BEGIN failed--compilation aborted at /root/.cpan/build/PDL-NetCDF-**
>> 4.17-5KE3nB/blib/lib/PDL/**NetCDF.pm line 10.
>> # Compilation failed in require at (eval 7) line 2.
>> # BEGIN failed--compilation aborted at (eval 7) line 2.
>>
>> #   Failed test 'use PDL::Char;'
>> #   at t/01-Netcdf3.t line 8.
>> #     Tried to use 'PDL::Char'.
>> #     Error:  Attempt to reload PDL/Core.pm aborted.
>> # Compilation failed in require at (eval 9) line 6.
>> # BEGIN failed--compilation aborted at (eval 9) line 6.
>> # BEGIN failed--compilation aborted at (eval 8) line 2.
>> Number found where operator expected at t/01-Netcdf3.t line 52, near "pdl
>> 1"
>>     (Do you need to predeclare pdl?)
>> Variable "$pdl" is not imported at t/01-Netcdf3.t line 105.
>> syntax error at t/01-Netcdf3.t line 25, near "pdl ["
>> Global symbol "$in1" requires explicit package name at t/01-Netcdf3.t
>> line 26.
>> syntax error at t/01-Netcdf3.t line 52, near "pdl 1"
>> Global symbol "$in3" requires explicit package name at t/01-Netcdf3.t
>> line 53.
>> syntax error at t/01-Netcdf3.t line 61, near "pdl ["
>> Global symbol "$in2" requires explicit package name at t/01-Netcdf3.t
>> line 62.
>> syntax error at t/01-Netcdf3.t line 104, near "pdl ["
>> Global symbol "$pdl" requires explicit package name at t/01-Netcdf3.t
>> line 105.
>> syntax error at t/01-Netcdf3.t line 114, near "pdl ["
>> Global symbol "$attin" requires explicit package name at t/01-Netcdf3.t
>> line 115.
>> syntax error at t/01-Netcdf3.t line 117, near "long ["
>> t/01-Netcdf3.t has too many errors.
>> # Looks like you planned 52 tests but ran 3.
>> # Looks like you failed 3 tests of 3 run.
>> # Looks like your test exited with 2 just after 3.
>> t/01-Netcdf3.t .. Dubious, test returned 2 (wstat 512, 0x200)
>> Failed 52/52 subtests
>> t/02-Netcdf4.t .. Unrecognized character \xE2; marked by <-- HERE after
>> warn <-- HERE near column 6 at
>> /usr/lib/perl5/5.16.2/i586-**linux-thread-multi/DynaLoader.**pm line 212.
>> Compilation failed in require at Basic/Core/Core.pm.PL (i.e.
>> PDL::Core.pm) line 315.
>> BEGIN failed--compilation aborted at Basic/Core/Core.pm.PL (i.e.
>> PDL::Core.pm) line 315.
>> Compilation failed in require at /usr/lib/perl5/site_perl/5.16.**
>> 2/i586-linux-thread-multi/PDL/**Lite.pm line 38.
>> BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.16.**
>> 2/i586-linux-thread-multi/PDL/**Lite.pm line 38.
>> Compilation failed in require at t/02-Netcdf4.t line 6.
>> BEGIN failed--compilation aborted at t/02-Netcdf4.t line 6.
>> # Looks like your test exited with 255 before it could output anything.
>> t/02-Netcdf4.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
>> Failed 21/21 subtests
>>
>> Test Summary Report
>> -------------------
>> t/01-Netcdf3.t (Wstat: 512 Tests: 3 Failed: 3)
>>   Failed tests:  1-3
>>   Non-zero exit status: 2
>>   Parse errors: Bad plan.  You planned 52 tests but ran 3.
>> t/02-Netcdf4.t (Wstat: 65280 Tests: 0 Failed: 0)
>>   Non-zero exit status: 255
>>   Parse errors: Bad plan.  You planned 21 tests but ran 0.
>> Files=2, Tests=3,  1 wallclock secs ( 0.03 usr  0.01 sys +  0.09 cusr
>> 0.01 csys =  0.14 CPU)
>> Result: FAIL
>> Failed 2/2 test programs. 3/3 subtests failed.
>> make: *** [test_dynamic] Error 255
>>
>>
>>
>> 2013/9/15 <[email protected]>
>>       Hi Hernan,
>>
>> Well ... it was never going to actually be a solution anyway. We would
>> still want to find out why the behaviour
>> was occurring :-)
>>
>> I’ve just checked, and I’m running the same version of netcdf as you are
>> (4.2.1.1). And PDL::NetCDF built fine
>> for me (on MS Windows).
>>
>> It’s probably not a good idea to be messing with the contents of
>> DynaLoader.pm, but that’s exactly what I’d do if
>> I was getting that error.
>> Line 122 of DynaLoader.pm is currently a blank line. I would change it to:
>>
>> warn “\n\$xs: $xs\n”;
>>
>> If it’s not a coderef, let’s try and find out what the hell it is !
>>
>> Be aware that the error message could be bogus. Just a few lines before
>> line 123 in DynaLoader.pm we find the
>> following comments:
>>
>> # Many dynamic extension loading problems will appear to come from
>> # this section of code: XYZ failed at line 123 of DynaLoader.pm.
>> # Often these errors are actually occurring in the initialisation
>> # C code of the extension XS file. Perl reports the error as being
>> # in this perl code simply because this was the last perl code
>> # it executed.
>>
>> However, I think this one might just turn out to be legitimate.
>>
>> Cheers,
>> Rob
>>
>> From: Hernán De Angelis
>> Sent: Sunday, September 15, 2013 10:31 PM
>> To: [email protected]
>> Cc: [email protected]
>> Subject: Re: [Perldl] PDL::NetCDF problem "Not a CODE reference..."
>> Rob, thanks for the answer and the suggested solution.
>>
>> Unfortunately it did not work. I get the same messages as when running
>> "make test":
>>
>> PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
>> "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
>> t/01-Netcdf3.t .. 1/52
>> #   Failed test 'use PDL::NetCDF;'
>> #   at t/01-Netcdf3.t line 7.
>> #     Tried to use 'PDL::NetCDF'.
>> #     Error:  Not a CODE reference at /usr/lib/perl5/5.16.2/i586-**
>> linux-thread-multi/DynaLoader.**pm line 213.
>> # END failed--call queue aborted at /root/.cpan/build/PDL-NetCDF-**
>> 4.17-V_3ZUS/blib/lib/PDL/**NetCDF.pm line 213.
>> # Compilation failed in require at (eval 42) line 2.
>> # BEGIN failed--compilation aborted at (eval 42) line 2.
>> Use of uninitialized value in subroutine entry at
>> /root/.cpan/build/PDL-NetCDF-**4.17-V_3ZUS/blib/lib/PDL/**NetCDF.pm
>> line 1380.
>> put:  Cannot define variable -- NetCDF: Not a valid data type or
>> _FillValue type mismatch at t/01-Netcdf3.t line
>> 26.
>> # Looks like you planned 52 tests but ran 5.
>> # Looks like you failed 1 test of 5 run.
>> # Looks like your test exited with 2 just after 5.
>> t/01-Netcdf3.t .. Dubious, test returned 2 (wstat 512, 0x200)
>> Failed 48/52 subtests
>> t/02-Netcdf4.t .. 1/21
>> #   Failed test 'use PDL::NetCDF;'
>> #   at t/02-Netcdf4.t line 8.
>> #     Tried to use 'PDL::NetCDF'.
>> #     Error:  Not a CODE reference at /usr/lib/perl5/5.16.2/i586-**
>> linux-thread-multi/DynaLoader.**pm line 213.
>> # END failed--call queue aborted at /root/.cpan/build/PDL-NetCDF-**
>> 4.17-V_3ZUS/blib/lib/PDL/**NetCDF.pm line 213.
>> # Compilation failed in require at (eval 29) line 2.
>> # BEGIN failed--compilation aborted at (eval 29) line 2.
>> Use of uninitialized value in subroutine entry at
>> /root/.cpan/build/PDL-NetCDF-**4.17-V_3ZUS/blib/lib/PDL/**NetCDF.pm
>> line 1380.
>> put:  Cannot define variable -- NetCDF: Not a valid data type or
>> _FillValue type mismatch at t/02-Netcdf4.t line
>> 40.
>> # Looks like you planned 21 tests but ran 14.
>> # Looks like you failed 1 test of 14 run.
>> # Looks like your test exited with 2 just after 14.
>> t/02-Netcdf4.t .. Dubious, test returned 2 (wstat 512, 0x200)
>> Failed 8/21 subtests
>>
>> Test Summary Report
>> -------------------
>> t/01-Netcdf3.t (Wstat: 512 Tests: 5 Failed: 1)
>>   Failed test:  2
>>   Non-zero exit status: 2
>>   Parse errors: Bad plan.  You planned 52 tests but ran 5.
>> t/02-Netcdf4.t (Wstat: 512 Tests: 14 Failed: 1)
>>   Failed test:  1
>>   Non-zero exit status: 2
>>   Parse errors: Bad plan.  You planned 21 tests but ran 14.
>> Files=2, Tests=19,  0 wallclock secs ( 0.03 usr  0.01 sys +  0.39 cusr
>> 0.04 csys =  0.47 CPU)
>> Result: FAIL
>> Failed 2/2 test programs. 2/19 subtests failed.
>> make: *** [test_dynamic] Error 2
>>
>>
>> I keep searching for a solution. No ideas yet ....
>>
>> Hernán
>>
>>
>>
>>
>> 2013/9/15 <[email protected]>
>>
>>       From: Hernán De Angelis
>>
>>             I repeatedly get the following error during test:
>>
>>             Error:  Not a CODE reference at
>>             /usr/lib/perl5/5.16.2/i586-**linux-thread-multi/DynaLoader.**pm
>> line 213.
>>
>>
>> Try running the test script as:
>>
>> perl -Mblib t/scriptname.t
>>
>> DynaLoader.pm line 213 (perl-5.16.0) was throwing up a warning for me in
>> a test suite I was running just
>> yesterday. When I ran the particular test file as 'perl -Mblib
>> t/script.t' the warning went away.
>>
>> I'm wondering whether the same approach will make your error go away.
>>
>> Cheers,
>> Rob
>>
>>
>>
>>
>>
>> --
>> Hernán De Angelis
>> http://talesoficeandstone.**blogspot.se/<http://talesoficeandstone.blogspot.se/>
>>
>>
>>
>>
>> --
>> Hernán De Angelis
>> http://talesoficeandstone.**blogspot.se/<http://talesoficeandstone.blogspot.se/>
>>
>>
>>


-- 
Hernán De Angelis
http://talesoficeandstone.blogspot.se/
_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to