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

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

I am trying to port a perl program from linux to Windows, and it uses XML::XPath Trying to load it, most advice seems to be to use ppm, but AS doesn't seem to provide that anymore - is that right? And "pip install" fails, as I don't have a pip in the ASPerl installation. Trying to install it from CPAN gives lots of dmake errors like below.

As does "cpan install"; fails with:

" MANWAR/XML-XPath-1.44.tar.gz E:\PLang\ActivePerl\bin\perl.exe Makefile.PL INSTALLDIRS=site -- O +K Running make for M/MA/MANWAR/XML-XPath-1.44.tar.gz x[91m[DMAKE] error: the following arguments are required: command. +.[0m ... e:\Plang\Python\python36\scripts\dmake.exe -- NOT OK
Lots of reports on this sort of thing, but I didn't find anything simple that works yet. Any hints? Should I dump AS perl and move to Strawberry? Please excuse any novice confusion here!

Replies are listed 'Best First'.
Re: no ppm on ActiveState perl?
by syphilis (Archbishop) on Jul 31, 2020 at 01:41 UTC
    but AS doesn't seem to provide that anymore

    Sadly, AS doesn't provide anything useful anymore ... wrt perl, at least.

    Should I dump AS perl and move to Strawberry?

    Yes, start using Strawberry Perl - where cpan -i XML::XPath works fine.

    Here's what I got with 64-bit Stawberry Perl -5.30.2:
    C:\_64\strawberry-5.30.2>cpan -i XML::XPath [skipping preamble and downloading of source] ... Configuring M/MA/MANWAR/XML-XPath-1.44.tar.gz with Makefile.PL Checking if your kit is complete... Looks good Generating a gmake-style Makefile Writing Makefile for XML::XPath Writing MYMETA.yml and MYMETA.json MANWAR/XML-XPath-1.44.tar.gz C:\_64\strawberry-vanilla-5.30.2\perl\bin\perl.exe Makefile.PL -- OK Running make for M/MA/MANWAR/XML-XPath-1.44.tar.gz cp lib/XML/XPath/Builder.pm blib\lib\XML\XPath\Builder.pm cp lib/XML/XPath/Node/Namespace.pm blib\lib\XML\XPath\Node\Namespace.p +m cp lib/XML/XPath/Expr.pm blib\lib\XML\XPath\Expr.pm cp lib/XML/XPath/LocationPath.pm blib\lib\XML\XPath\LocationPath.pm cp lib/XML/XPath/Variable.pm blib\lib\XML\XPath\Variable.pm cp lib/XML/XPath/Node/PI.pm blib\lib\XML\XPath\Node\PI.pm cp lib/XML/XPath/Node.pm blib\lib\XML\XPath\Node.pm cp lib/XML/XPath/Step.pm blib\lib\XML\XPath\Step.pm cp lib/XML/XPath/PerlSAX.pm blib\lib\XML\XPath\PerlSAX.pm cp lib/XML/XPath/Root.pm blib\lib\XML\XPath\Root.pm cp lib/XML/XPath/Parser.pm blib\lib\XML\XPath\Parser.pm cp lib/XML/XPath/Node/Attribute.pm blib\lib\XML\XPath\Node\Attribute.p +m cp lib/XML/XPath/NodeSet.pm blib\lib\XML\XPath\NodeSet.pm cp lib/XML/XPath/Function.pm blib\lib\XML\XPath\Function.pm cp lib/XML/XPath/Boolean.pm blib\lib\XML\XPath\Boolean.pm cp lib/XML/XPath/Node/Comment.pm blib\lib\XML\XPath\Node\Comment.pm cp lib/XML/XPath/Node/Text.pm blib\lib\XML\XPath\Node\Text.pm cp lib/XML/XPath/Node/Element.pm blib\lib\XML\XPath\Node\Element.pm cp lib/XML/XPath/Number.pm blib\lib\XML\XPath\Number.pm cp lib/XML/XPath/Literal.pm blib\lib\XML\XPath\Literal.pm cp lib/XML/XPath.pm blib\lib\XML\XPath.pm cp lib/XML/XPath/XMLParser.pm blib\lib\XML\XPath\XMLParser.pm "C:\_64\strawberry-vanilla-5.30.2\perl\bin\perl.exe" -MExtUtils::Comma +nd -e cp - - examples/xpath blib\script\xpath pl2bat.bat blib\script\xpath MANWAR/XML-XPath-1.44.tar.gz gmake -- OK CPAN: CPAN::DistnameInfo loaded ok (v0.12) Running make test for MANWAR/XML-XPath-1.44.tar.gz "C:\_64\strawberry-vanilla-5.30.2\perl\bin\perl.exe" "-MExtUtils::Comm +and::MM" " -MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, + 'blib\lib ', 'blib\arch')" t/*.t t/00load.t .................... 1/22 # Testing XML::XPath 1.44, Perl 5 +.030002, C :\_64\strawberry-vanilla-5.30.2\perl\bin\perl.exe t/00load.t .................... ok t/01basic.t ................... ok t/02descendant.t .............. ok t/03star.t .................... ok t/04pos.t ..................... ok t/05attrib.t .................. ok t/06attrib_val.t .............. ok t/07count.t ................... ok t/08name.t .................... ok t/09a_string_length.t ......... ok t/09string_length.t ........... ok t/10pipe.t .................... ok t/11axischild.t ............... ok t/12axisdescendant.t .......... ok t/13axisparent.t .............. ok t/14axisancestor.t ............ ok t/15axisfol_sib.t ............. ok t/16axisprec_sib.t ............ ok t/17axisfollowing.t ........... ok t/18axispreceding.t ........... ok t/19axisd_or_s.t .............. ok t/20axisa_or_s.t .............. ok t/21allnodes.t ................ ok t/22name_select.t ............. ok t/23func.t .................... ok t/24namespaces.t .............. ok t/25scope.t ................... ok t/26predicate.t ............... ok t/27asxml.t ................... ok t/28ancestor2.t ............... ok t/29desc_with_predicate.t ..... ok t/30lang.t .................... ok t/31dots.t .................... ok t/32duplicate_nodes.t ......... ok t/33getnodetext.t ............. ok t/34non_abbreviated_attrib.t .. ok t/35namespace_uri.t ........... ok t/36substring.t ............... ok t/37concat.t .................. ok t/38starts_with.t ............. ok t/39contains.t ................ ok t/40substring_before.t ........ ok t/41substring_after.t ......... ok t/42create_node.t ............. ok t/43op_div.t .................. ok t/44test_compare.t ............ ok t/45cmp_nodeset.t ............. ok t/46context.t ................. ok t/47position.t ................ ok t/48translate.t ............... ok t/49literal.t ................. ok t/50xmlxpathparsercache.t ..... ok t/51elementname.t ............. ok t/insert.t .................... ok t/meta-json.t ................. skipped: Test::CPAN::Meta::JSON requir +ed for tes ting MYMETA.json t/meta-yml.t .................. skipped: Test::CPAN::Meta required for + testing M YMETA.yml t/rdf.t ....................... ok t/remove.t .................... ok t/stress.t .................... ok All tests successful. Files=59, Tests=317, 11 wallclock secs ( 0.14 usr + 0.14 sys = 0.28 +CPU) Result: PASS MANWAR/XML-XPath-1.44.tar.gz gmake test -- OK Running make install for MANWAR/XML-XPath-1.44.tar.gz Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\Bo +olean.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\Bu +ilder.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\Ex +pr.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\Fu +nction.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\Li +teral.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\Lo +cationPath.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\No +de.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\No +deSet.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\Nu +mber.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\Pa +rser.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\Pe +rlSAX.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\Ro +ot.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\St +ep.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\Va +riable.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\XM +LParser.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\No +de\Attribute.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\No +de\Comment.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\No +de\Element.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\No +de\Namespace.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\No +de\PI.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\lib\XML\XPath\No +de\Text.pm Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\bin\xpath Installing C:\_64\strawberry-vanilla-5.30.2\perl\site\bin\xpath.bat Appending installation info to C:\_64\strawberry-vanilla-5.30.2\perl\l +ib/perllocal.pod MANWAR/XML-XPath-1.44.tar.gz gmake install -- OK

    Cheers,
    Rob
Re: no ppm on ActiveState perl?
by chromatic (Archbishop) on Jul 31, 2020 at 18:05 UTC

    I have an ActiveState platform account and just built a project on Linux and Windows with Perl 5.28 and XML::XPath 1.44 (but I don't have a Windows machine to test).

    If you were to do this, start by forking the Perl 5.28 build.