Deacon Jon has asked for the wisdom of the Perl Monks concerning the following question:

Hi,
I am unable to install XML-Parser-2.23 on my AIX 5.2 system. It's a prereq for SOAP::Lite 65_3. I get a bunch of errors when doing a 'make' on my system. perl Makefile.PL runs just fine. I am running Perl 5.8.2

Could someone point me in the right direction? Sorry for the basic nature of this query. Thanks in advance.

-Jon

cc_r -c -Iexpat/xmltok -Iexpat/xmlparse -D_ALL_SOURCE -D_AN +SI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE +_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -O -DVE +RSION=\"2.23\" -DXS_VERSION=\"2.23\" "-I/usr/opt/perl5/lib/5.8.0/ai +x-thread-multi/CORE" -o expat/xmlparse/hashtable.o expat/xmlparse/ha +shtable.c Running Mkbootstrap for XML::Parser::Expat () chmod 644 Expat.bs rm -f ../blib/arch/auto/XML/Parser/Expat/Expat.so LD_RUN_PATH="" ld -bhalt:4 -bM:SRE -bI:/usr/opt/perl5/lib/5.8 +.0/aix-thread-multi/CORE/perl.exp -bE:Expat.exp -bnoentry -lpthreads +-lc_r Expat.o expat/xmltok/xmltok.o expat/xmltok/xmlrole.o expat/x +mlparse/xmlparse.o expat/xmlparse/hashtable.o -o ../blib/arch/auto/ +XML/Parser/Expat/Expat.so ld: 0711-317 ERROR: Undefined symbol: .Perl_sv_setsv ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more info +rmation. make: 1254-004 The error code from the last command is 8. Stop. make: 1254-004 The error code from the last command is 2. Stop.

Formatting and code tags added by davido per consideration.
Retitled by davido from 'Newbie help'.

Replies are listed 'Best First'.
Re: Help installing XML::Parser on AIX 5.2
by Zaxo (Archbishop) on Jun 07, 2005 at 22:55 UTC

    The version you're trying to install is a little old, 2.34 is current. Does SOAP::Lite need an earlier version for some reason? The linker error you get is typical for badly mismatched API's. You might try updating Devel::PPPort, which is for smoothing over these version differences through a compatibility header. Many XS modules make use of it - not sure about XML::Parser.

    After Compline,
    Zaxo

      Zaxo,
      Many thanks for your reply. SOAP-Lite-0.65_3 lists 'XML::Parser (v2.23)' as a Prerequisite after I issue 'perl Makefile.PL'
      Maybe I should see if there's a more recent version of SOAP-Lite?

      I will try to update Devel:PPPort as you suggest and report back soon. Thanks again.

      -Jon

        Hi Zaxo,

        More on this...

        Unfortunately Devel:PPPort did not help.
        I think my problem is that 'expat.h' wasn't available under '/usr/include' I copied it there and re-ran 'make' I get a new error. It can't seem to find 'expat_external.h' - Sourceforge references this bd suggests a patch(since 'expat_external.h' is not availble either). I don't know how to do this though. Too many years of VB programming on windows ;-) Any advice?

        -Jon

        root@itdp53ib [/opt/patrolem/u/NetCmmnd/perl/newmodules/XML-Parser-2.3 +4]perl Makefile.PL Checking if your kit is complete... Looks good Note (probably harmless): No library found for -lexpat Writing Makefile for XML::Parser::Expat Writing Makefile for XML::Parser root@itdp53ib [/opt/patrolem/u/NetCmmnd/perl/newmodules/XML-Parser-2.3 +4]make {cp and JUNK} /usr/bin/perl -e 'use ExtUtils::Mksymlists; Mksymlists("NAME" + => "XML::Parser", "DL_FUNCS" => { }, "FUNCLIST" => [], "DL_VARS" => + []);' cp Expat.pm ../blib/lib/XML/Parser/Expat.pm /usr/bin/perl -e 'use ExtUtils::Mksymlists; Mksymlists("NAME" + => "XML::Parser::Expat", "DL_FUNCS" => { }, "FUNCLIST" => [], "DL_V +ARS" => []);' /usr/bin/perl /usr/opt/perl5/lib/5.8.0/ExtUtils/xsubpp -noprot +otypes -typemap /usr/opt/perl5/lib/5.8.0/ExtUtils/typemap -typemap ty +pemap Expat.xs > Expat.xsc && mv Expat.xsc Expat.c cc_r -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qma +xmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 + -D_LARGE_FILES -qlonglong -O -DVERSION=\"2.34\" -DXS_VERSION=\"2 +.34\" "-I/usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE" Expat.c "/usr/include/expat.h", line 18.10: 1506-296 (S) #include file "expat_ +external.h" not found. "/usr/include/expat.h", line 132.3: 1506-046 (S) Syntax error. line 86.25: 1506-007 (S) "struct stat64" is undefined. "Expat.xs", line 111.8: 1506-166 (S) Definition of function XML_Char r +equires parentheses. make: 1254-004 The error code from the last command is 1. {MORE JUNK HERE} Stop. make: 1254-004 The error code from the last command is 2. Stop.