http://qs321.pair.com?node_id=604045

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

Hi Monks,

I am working on a Windows 2003 32bit Server with Perl 5.8.8 and I am trying to build and install XML-Parser-2.34. I have downloaded the latest Expat-2.0.0. I added "D:\Expat-2.0.0\Libs" to my PATH and Lib PATH and I added "D:\Expat-2.0.0\Source\lib" to my include path (Not sure if that is correct).

When I go to build XML-Parser-2.34 I recieve some warnings, but no errors. When I test the build everything fails. Here is a sample of the failure messages:

D:\Software\Perl\XML-Parser-2.34>nmake test Microsoft (R) Program Maintenance Utility Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. "D:\Program Files\Microsoft Visual Studio 8\VC\bin\nmake.exe" -f Makef +ile all -nologo cd .. D:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harn +ess(0, 'blib\lib', 'blib\arch')" t/*.t t/astress.........Can't load 'D:\Software\Perl\XML-Parser-2.34\blib\ar +ch/auto/XML/Parser/Expat/Expat.dll' for module XML::Parser::Expat: lo +ad_file:The specified module could not be found at D:/Perl/lib/DynaLo +ader.pm line 230. at D:/Perl/lib/XML/Parser.pm line 14 Compilation failed in require at D:/Perl/lib/XML/Parser.pm line 14. BEGIN failed--compilation aborted at D:/Perl/lib/XML/Parser.pm line 18 +. Compilation failed in require at t/astress.t line 11. BEGIN failed--compilation aborted at t/astress.t line 11. t/astress.........dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 1-27 Failed 27/27 tests, 0.00% okay
Thank you for any help that some one can provide.

Replies are listed 'Best First'.
Re: Can't build XML-Parser-2.34
by CountZero (Bishop) on Mar 09, 2007 at 20:48 UTC
    Something must have gone wrong during the nmake part of the build-process. What is the output of that step?

    CountZero

    "If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law

      The output from the perl makefile.pl step is:
      D:\Software\Perl\XML-Parser-2.34>perl makefile.pl Writing Makefile for XML::Parser::Expat Writing Makefile for XML::Parser
      The output from the nmake step is:
      D:\Software\Perl\XML-Parser-2.34>nmake Microsoft (R) Program Maintenance Utility Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. "D:\Program Files\Microsoft Visual Studio 8\VC\bin\nmake.exe" +-f Makefil e all -nologo cl -c -ID:/Expat-2.0.0/Source/lib -nologo -GF -W3 -MD -Zi -D +NDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE +_SITECUSTO MIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_M +SVCRT_READ FIX -MD -Zi -DNDEBUG -O1 -DVERSION=\"2.34\" -DXS_VERSION=\"2.34\" + "-ID:\Per l\lib\CORE" Expat.c Expat.c Expat.xs(273) : warning C4018: '<' : signed/unsigned mismatch Expat.xs(481) : warning C4101: 'pcontext' : unreferenced local variabl +e Expat.xs(484) : warning C4101: 'pnstab' : unreferenced local variable Expat.xs(485) : warning C4101: 'pnslst' : unreferenced local variable Expat.xs(1146) : warning C4101: 'count' : unreferenced local variable Expat.xs(1462) : warning C4101: 'delimsv' : unreferenced local variabl +e Expat.c(2080) : warning C4101: 'RETVAL' : unreferenced local variable Expat.c(2377) : warning C4101: 'RETVAL' : unreferenced local variable Expat.xs(2046) : warning C4018: '<' : signed/unsigned mismatch Expat.xs(2056) : warning C4018: '<' : signed/unsigned mismatch Expat.xs(2192) : warning C4101: 'type' : unreferenced local variable Expat.xs(2205) : warning C4101: 'pret' : unreferenced local variable Running Mkbootstrap for XML::Parser::Expat () D:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Expat.bs link -out:..\blib\arch\auto\XML\Parser\Expat\Expat.dll -dll -n +ologo -nod efaultlib -debug -opt:ref,icf -libpath:"D:\Perl\lib\CORE" -machine:x +86 Expat.o bj D:\Perl\lib\CORE\perl58.lib D:\Expat-2.0.0\Libs\libexpat.lib "D:\ +Program Fi les\Microsoft Visual Studio 8\VC\lib\oldnames.lib" "D:\Program Files\M +icrosoft V isual Studio 8\VC\lib\kernel32.lib" "D:\Program Files\Microsoft Visual + Studio 8\ VC\PlatformSDK\Lib\user32.lib" "D:\Program Files\Microsoft Visual Stud +io 8\VC\Pl atformSDK\Lib\gdi32.lib" "D:\Program Files\Microsoft Visual Studio 8\V +C\Platform SDK\Lib\winspool.lib" "D:\Program Files\Microsoft Visual Studio 8\VC\P +latformSDK \Lib\comdlg32.lib" "D:\Program Files\Microsoft Visual Studio 8\VC\Plat +formSDK\Li b\advapi32.lib" "D:\Program Files\Microsoft Visual Studio 8\VC\Platfor +mSDK\Lib\s hell32.lib" "D:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK +\Lib\ole32 .lib" "D:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib\o +leaut32.li b" "D:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib\neta +pi32.lib" "D:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib" "D:\Progr +am Files\M icrosoft Visual Studio 8\VC\PlatformSDK\Lib\ws2_32.lib" "D:\Program Fi +les\Micros oft Visual Studio 8\VC\PlatformSDK\Lib\mpr.lib" "D:\Program Files\Micr +osoft Visu al Studio 8\VC\PlatformSDK\Lib\winmm.lib" "D:\Program Files\Microsoft +Visual Stu dio 8\VC\PlatformSDK\Lib\version.lib" "D:\Program Files\Microsoft Visu +al Studio 8\VC\PlatformSDK\Lib\odbc32.lib" "D:\Program Files\Microsoft Visual St +udio 8\VC\ PlatformSDK\Lib\odbccp32.lib" "D:\Program Files\Microsoft Visual Studi +o 8\VC\lib \msvcrt.lib" -def:Expat.def Creating library ..\blib\arch\auto\XML\Parser\Expat\Expat.lib and o +bject ..\blib\arch\auto\XML\Parser\Expat\Expat.exp lib\arch\auto\XML\Parser\Expat\Expat.exp D:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 755 ..\blib\ +arch\auto\XML\Parser\Expat\Expat.dll D:\Perl\bin\perl.exe -MExtUtils::Command -e cp Expat.bs ..\bli +b\arch\auto\XML\Parser\Expat\Expat.bs D:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 ..\blib\ +arch\auto\XML\Parser\Expat\Expat.bs cd ..
        I don't know if this will help or not. I've recently been installing XML::Parser and expat on Solaris, so it's different, but before I ran make, I had to edit the Makefile.PL file to add the $expat_libpath and $expat_incpath variables:

        $expat_libpath = 'path/to/expat/lib'; $expat_incpath = 'path/to/expat/include';

        I don't know if that will help you or not, but it's worth looking at.

        Cheers,

        Brent

        -- Yeah, I'm a Delt.
Re: Can't build XML-Parser-2.34
by randyk (Parson) on Mar 09, 2007 at 22:15 UTC
    Does it help if you add D:\Expat-2.0.0\Libs to your PATH environment variable, so as the dlls are found?
Re: Can't build XML-Parser-2.34
by runrig (Abbot) on Mar 10, 2007 at 00:58 UTC
    I have to ask, since you don't specify: are you using ActiveState perl? Is there any reason you're not using ActiveState perl, and ppm to install the module?
      I don't see XML-Parser in ppm to install it that way. Is there some reason why it is not there?

        PPMs for XML::Parser may be found here. You could try, for example, typing ppm install http://trouchelle.com/ppm/XML-Parser.ppd at a command prompt and see if that works for you.

        HTH,

        planetscape
        Kobes also has XML-Parser, and not only that, but a guide to what other repositories have it.
        XML::Parser is part of the ActivePerl distribution. It's needed by the PPM script, so if ppm works then you already have XML::Parser.
Re: Can't build XML-Parser-2.34
by Anonymous Monk on Mar 11, 2007 at 02:21 UTC
    check event log