XML::CanonicalizeXML Perl package install on Windows <p>I'm new to Perl and I started working on a project which needs some modules. One of them is <a href="https://WWW.metacpan.org/module/XML%3a%3aCanonicalizeXML" rel="nofollow"><code>XML::CanonicalizeXML</code></a> that can't seem to be installed.</p> <p>I'm using Strawberry Perl and CPAN for package handling.</p> <p>I tried manually compiling the package from the downloaded tar.gz file, but the same error has occurred that seems to be occuring in the g++ compilation:</p> <pre><code> CPAN.pm: Building S/SJ/SJZASADA/XML-CanonicalizeXML-0.05.tgz 'xml2-config' is not recognized as an internal or external command, operable program or batch file. 'xml2-config' is not recognized as an internal or external command, operable program or batch file. Checking if your kit is complete... Looks good 'xml2-config' is not recognized as an internal or external command, operable program or batch file. 'xml2-config' is not recognized as an internal or external command, operable program or batch file. MakeMaker (v6.64) Warning (non-fatal): Target 'dynamic' depends on targets in skipped section 'dyn amic_lib' Warning (non-fatal): Target 'static' depends on targets in skipped section 'stat ic_lib' Writing Makefile for Mytest2::canon Writing MYMETA.yml and MYMETA.json Writing Makefile for XML::CanonicalizeXML Writing MYMETA.yml and MYMETA.json cp lib/XML/CanonicalizeXML.pm blib\lib\XML\CanonicalizeXML.pm AutoSplitting blib\lib\XML\CanonicalizeXML.pm (blib\lib\auto\XML\CanonicalizeXML ) cd canon &amp;&amp; dmake gcc -c -I. -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT - DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"\" -DXS_VERSION=\"\" "-IC:\strawberry\perl\lib\CORE" canon.c ar cr libcanon.a canon.o rem libcanon.a C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp -typemap C:\strawberry\perl\lib\ExtUtils\typemap CanonicalizeXML.xs &gt; CanonicalizeXML.x sc &amp;&amp; C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e mv -- CanonicalizeX ML.xsc CanonicalizeXML.c Please specify prototyping behavior for CanonicalizeXML.xs (see perlxs manual) gcc -c -I. -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT - DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0. 05\" -DXS_VERSION=\"0.05\" "-IC:\strawberry\perl\lib\CORE" CanonicalizeXML .c CanonicalizeXML.xs: In function 'XS_XML__CanonicalizeXML_canonicalize': CanonicalizeXML.xs:28:17: warning: passing argument 6 of 'canonicalize' from inc ompatible pointer type [enabled by default] canon/canon.h:2:12: note: expected 'char *' but argument is of type 'xmlChar **' Running Mkbootstrap for XML::CanonicalizeXML () C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 644 Canonicalize XML.bs C:\strawberry\perl\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=&gt;\"XML::CanonicalizeXML\", 'DLBASE' =&gt; 'CanonicalizeX ML', 'DL_FUNCS' =&gt; { }, 'FUNCLIST' =&gt; [], 'IMPORTS' =&gt; { }, 'DL_VARS' =&gt; []);" dlltool --def CanonicalizeXML.def --output-exp dll.exp g++ -o blib\arch\auto\XML\CanonicalizeXML\CanonicalizeXML.dll -Wl,--base-file -W l,dll.base -mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" Cano nicalizeXML.o canon/libcanon.a C:\strawberry\perl\lib\CORE\libperl516.a -lmoldn ame -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole 32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbc cp32 -lcomctl32 dll.exp CanonicalizeXML.o:CanonicalizeXML.c:(.text+0x118): undefined reference to `xmlIn itParser' CanonicalizeXML.o:CanonicalizeXML.c:(.text+0x15c): undefined reference to `xmlSt rlen' CanonicalizeXML.o:CanonicalizeXML.c:(.text+0x189): undefined reference to `_imp_ _xmlFree' CanonicalizeXML.o:CanonicalizeXML.c:(.text+0x190): undefined reference to `xmlCl eanupParser' canon/libcanon.a(canon.o):canon.c:(.text+0x27): undefined reference to `xmlStrle n' canon/libcanon.a(canon.o):canon.c:(.text+0x35): undefined reference to `_imp__xm lMalloc' canon/libcanon.a(canon.o):canon.c:(.text+0xb3): undefined reference to `xmlParse Memory' canon/libcanon.a(canon.o):canon.c:(.text+0xc4): undefined reference to `__xmlLoa dExtDtdDefaultValue' canon/libcanon.a(canon.o):canon.c:(.text+0xd6): undefined reference to `xmlSubst ituteEntitiesDefault' canon/libcanon.a(canon.o):canon.c:(.text+0xf2): undefined reference to `xmlParse Memory' canon/libcanon.a(canon.o):canon.c:(.text+0x104): undefined reference to `xmlDocG etRootElement' canon/libcanon.a(canon.o):canon.c:(.text+0x13a): undefined reference to `xmlStrE qual' canon/libcanon.a(canon.o):canon.c:(.text+0x146): undefined reference to `xmlNode GetContent' canon/libcanon.a(canon.o):canon.c:(.text+0x15e): undefined reference to `xmlXPat hNewContext' canon/libcanon.a(canon.o):canon.c:(.text+0x194): undefined reference to `xmlXPat hRegisterNs' canon/libcanon.a(canon.o):canon.c:(.text+0x1ca): undefined reference to `_imp__x mlFree' canon/libcanon.a(canon.o):canon.c:(.text+0x1d4): undefined reference to `xmlXPat hFreeContext' canon/libcanon.a(canon.o):canon.c:(.text+0x1dc): undefined reference to `xmlFree Doc' canon/libcanon.a(canon.o):canon.c:(.text+0x1e4): undefined reference to `_imp__x mlRealloc' canon/libcanon.a(canon.o):canon.c:(.text+0x238): undefined reference to `xmlFree Doc' canon/libcanon.a(canon.o):canon.c:(.text+0x27d): undefined reference to `xmlXPat hEvalExpression' canon/libcanon.a(canon.o):canon.c:(.text+0x28d): undefined reference to `_imp__x mlFree' canon/libcanon.a(canon.o):canon.c:(.text+0x2a2): undefined reference to `xmlXPat hFreeContext' canon/libcanon.a(canon.o):canon.c:(.text+0x2aa): undefined reference to `xmlFree Doc' canon/libcanon.a(canon.o):canon.c:(.text+0x2db): undefined reference to `xmlC14N DocDumpMemory' canon/libcanon.a(canon.o):canon.c:(.text+0x2e7): undefined reference to `xmlXPat hFreeObject' canon/libcanon.a(canon.o):canon.c:(.text+0x2f3): undefined reference to `xmlFree Doc' canon/libcanon.a(canon.o):canon.c:(.text+0x301): undefined reference to `xmlMemo ryDump' canon/libcanon.a(canon.o):canon.c:(.text+0x393): undefined reference to `xmlFree Doc' canon/libcanon.a(canon.o):canon.c:(.text+0x435): undefined reference to `xmlFree Doc' canon/libcanon.a(canon.o):canon.c:(.text+0x46e): undefined reference to `_imp__x mlFree' canon/libcanon.a(canon.o):canon.c:(.text+0x478): undefined reference to `xmlFree Doc' collect2: ld returned 1 exit status dmake.exe: Error code 129, while making 'blib\arch\auto\XML\CanonicalizeXML\Can onicalizeXML.dll' SJZASADA/XML-CanonicalizeXML-0.05.tgz C:\strawberry\c\bin\dmake.exe -- NOT OK Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Stopping: 'install' failed for 'XML::CanonicalizeXML'. Failed during this command: SJZASADA/XML-CanonicalizeXML-0.05.tgz : make NO </code></pre>