http://www.perlmonks.org?node_id=557342

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hello,

I'm trying to install XML::Parser on an AIX 5.3.0.0 box for perl 5.8.8.
This is perl, v5.8.8 built for aix Copyright 1987-2006, Larry Wall Perl may be copied only under the terms of either the Artistic License + or the GNU General Public License, which may be found in the Perl 5 source ki +t. Complete documentation for Perl, including FAQ lists, should be found +on this system using "man perl" or "perldoc perl". If you have access to + the Internet, point your browser at http://www.perl.org/, the Perl Home Pa +ge.

Unfortunately things don't work out the way I'd like. I get a clean make (using gcc 4.0.1 and expat 2.0.0):

make[1]: Entering directory `/db2/dlink/.cpan/build/XML-Parser-2.34/Ex +pat' cp Expat.pm ../blib/lib/XML/Parser/Expat.pm /dbpar/perl/bin/perl -e 'use ExtUtils::Mksymlists; \ Mksymlists("NAME" => "XML::Parser::Expat", "DL_FUNCS" => { }, "FUNCLI +ST" => [], "DL_VARS" => []);' /dbpar/perl/bin/perl /dbpar/perl/lib/5.8.8/ExtUtils/xsubpp -noprototyp +es -typemap /dbpar/perl/lib/5.8.8/ExtUtils/typemap -typemap typemap +Expat.xs > Expat.xsc && mv Expat.xsc Expat.c gcc -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIVE_D +LOPEN -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr +/local/include -D_LARGE_FILES -O -DVERSION=\"2.34\" -DXS_VERSION=\" +2.34\" "-I/dbpar/perl/lib/5.8.8/aix/CORE" Expat.c Running Mkbootstrap for XML::Parser::Expat () chmod 644 Expat.bs rm -f ../blib/arch/auto/XML/Parser/Expat/Expat.so gcc -Wl,-bhalt:4 -Wl,-bexpall -Wl,-G -Wl,-bnoentry -lc -L/usr/local/l +ib Expat.o -o ../blib/arch/auto/XML/Parser/Expat/Expat.so \ -lexpat \ chmod 755 ../blib/arch/auto/XML/Parser/Expat/Expat.so cp Expat.bs ../blib/arch/auto/XML/Parser/Expat/Expat.bs chmod 644 ../blib/arch/auto/XML/Parser/Expat/Expat.bs Manifying ../blib/man3/XML::Parser::Expat.3 make[1]: Leaving directory `/db2/dlink/.cpan/build/XML-Parser-2.34/Exp +at' /dbpar/perl/bin/perl -e 'use ExtUtils::Mksymlists; \ Mksymlists("NAME" => "XML::Parser", "DL_FUNCS" => { }, "FUNCLIST" => +[], "DL_VARS" => []);' Manifying blib/man3/XML::Parser::Style::Objects.3 Manifying blib/man3/XML::Parser::Style::Debug.3 Manifying blib/man3/XML::Parser.3 Manifying blib/man3/XML::Parser::Style::Subs.3 Manifying blib/man3/XML::Parser::Style::Tree.3 Manifying blib/man3/XML::Parser::Style::Stream.3

But make test doesn't like me. I tried going through the test file itself but couldn't make heads nor tails of it... Any advice much appreciated!

make[1]: Entering directory `/db2/dlink/.cpan/build/XML-Parser-2.34/Ex +pat' make[1]: Leaving directory `/db2/dlink/.cpan/build/XML-Parser-2.34/Exp +at' PERL_DL_NONLAZY=1 /dbpar/perl/bin/perl "-MExtUtils::Command::MM" "-e" +"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/astress.........FAILED tests 19-20, 24 Failed 3/27 tests, 88.89% okay t/cdata...........ok t/decl............ok t/defaulted.......ok t/encoding........"my" variable $p masks earlier declaration in same s +cope at t/encoding.t line 94. t/encoding........ok t/external_ent....ok t/file............ok t/finish..........ok t/namespaces......ok t/parament........ok t/partial.........ok t/skip............ok t/stream..........ok t/styles..........ok Failed Test Stat Wstat Total Fail List of Failed ---------------------------------------------------------------------- +--------- t/astress.t 27 3 19-20 24 Failed 1/14 test scripts. 3/130 subtests failed. Files=14, Tests=130, 1 wallclock secs ( 0.81 cusr + 0.17 csys = 0.9 +8 CPU) Failed 1/14 test programs. 3/130 subtests failed. make: *** [test_dynamic] Error 255

Replies are listed 'Best First'.
Re: Installing XML::Parser
by leriksen (Curate) on Jun 24, 2006 at 00:51 UTC
    Try running just that test file on its own and looking at the failures - you could try
    perl t/astress.t
    though you may need to check your various paths (PERL5LIB, LD_LIBRARY_PATH etc) are all OK first.

    Then check the test failures, and if it still isnt clear, post the results here - maybe someone in the monastery can help from the information in there.

    ...reality must take precedence over public relations, for nature cannot be fooled. - R P Feynmann

      Hi,

      Thanks for the suggestion. I did that, but it didn't give much additional info:

      $ perl -w t/astress.t 1..27 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 not ok 19 not ok 20 ok 21 ok 22 ok 23 not ok 24 ok 25 ok 26 ok 27

      And I found the .t file itself very hard to interpret: couldn't really tell what was being tested and what the expected values were -- didn't seem to be using a standard testing module. Does this help at all?

        Your right, it doesnt use any test modules, but outputs TAP directly. I cant provoke the same failures on my FC4 box, but the lines of t/astress.t you need to add some printf's around are

        1. test 19 -> line 108 - print out the value of $p->current_line - yours is not 17
        2. test 20 -> line 109 - print out the value of $p->current_column - yours is not 20
        3. test 24 -> line 230 - print out the values of $cmpstr and $pos - yours are not equal

        Of course none of this shows you the real problem, just the symptoms. You'll probably have to run the test file under the perl debugger so you can see more - though even that is made harder by the fact that there is some XS code to deal with to, which you cant trace into with the perl debugger.

        Perhaps the best you can hope for is that the differences are not important, as far as the problem you are trying to solve - perhaps their white space related.

        ...reality must take precedence over public relations, for nature cannot be fooled. - R P Feynmann

Re: Installing XML::Parser
by PodMaster (Abbot) on Jun 24, 2006 at 23:34 UTC
    But make test doesn't like me. I tried going through the test file itself but couldn't make heads nor tails of it... Any advice much appreciated!
    You should've seen an additional message:
    Failed 1/14 test scripts, 92.86%okay. 3/130 subtests failed, 97.69% okay. .
    That should give you enough courage to go ahead and install XML-Parser :)

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.

      But... but... testing isn't a percentage-kinda game! If this fails on something critical I could get hosed. At the very least I need to figure out what kinda stuff I should watch out for, right?