Hello Michiel, No problem, I’ll explain here the steps I followed to build XML::LibXML. I did it using Microsoft VC10 (command prompt evironment) and using my self-built Perl 5.16 x64 (also with VC10), but it should work with Active State Perl too. Also, I didn’t build LibXML myself because I saw it would take much more effort - instead I downloaded the binary x64 build from one of the WinGNU projects (from http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/). So, these are the steps:
1) Download the already built LibXML and LibXML-dev from these links: http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/libxml2-dev_2.7.7-1_win64.zip http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/libxml2_2.7.7-1_win64.zip 2) Download the already built iconv from this link: http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/win-iconv-dev_tml-20100912_win64.zip 3) Download the already built zlib from this link: http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/zlib-dev_1.2.5-1_win64.zip 4) Download the already built gettext-tools from this link: http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/gettext-tools-dev_0.18.1.1-2_win64.zip 5) Download the source for XML::LibXML from this link (latest version as of today): http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0014.tar.gz Now, select a location to work on your hard drive. For these instructions, I'll use "C:\perl_libxml". If you chose something different, adjust the following steps accordingly. a) Unzip LibXML (both dev and no-dev to the same folder), iconv, zlib and the source for XML::LibXML inside C:\perl_libxml. Do it maintaining a folder for each one. I also simplified the name of those folders (removing version number and so). You should endup with a directory looking like this: C:\perl_lib_xml |- gettext |- bin |- include |- ... |- iconv |- bin |- include |- ... |- libxml2 |- bin |- include |- ... |- XML-LibXML <--- this one is the source for XML::LibXML |- debian |- docs |- example |- inc |- lib |- ... |- gettext |- bin |- include |- ... b) Now, open your Visual Studio Command Prompt environment (not just the regular Command Prompt, unless you know how to initialize everything for VC). For me, it's on Start Menu under Programs / Microsoft Visual Studio 2010 / Visual Studio Tools (select the x64 one). From there, type the following commands to merge the contents of gettext, iconv, libxml2 and zlib into a folder named 'files' (and also to correct a few things in the way): cd C:\perl_libxml mkdir files xcopy gettext files /E xcopy iconv files /E xcopy libxml2 files /E xcopy zlib files /E xcopy files\include\libxml2\libxml files\include\libxml2 /E ren files\include\libxml2 libxml ren files\lib\zdll.lib zlib.lib ren files\lib\libgettextlib.dll.a libgettextlib.dll.lib c) Now, you can try to build XML::LibXML with the following commands. First, the following ones should give no errors and create a Makefile succesfully (also, I'm assuming Perl is in your system path): cd XML-LibXML perl Makefile.PL INC=-IC:\perl_libxml\files\include LIBS=-LC:\perl_libxml\files\lib You can add DEBUG=1 at the end of that command to analyze possible errors, but if everything went well, you should see the following output from Makefile.PL: enable native perl UTF8 Checking for ability to link against xml2...no Checking for ability to link against libxml2...yes Checking if your kit is complete... Looks good Writing Makefile for XML::LibXML Writing MYMETA.yml and MYMETA.json d) At this point, you can call nmake to start bulding the module: nmake e) It should end without errors or fatals, just with some typical warnings. Now, before testing, you will need to execute the following command to include a necessary DLL: copy ..\files\bin\libxml2-2.dll blib\arch\auto\XML\LibXML f) ...and now you can test with nmake: nmake test g) Now, this is an important part. For me, there were 2 tests failed, but after analyzing the failures, I'm assuming there's no real failure from the module, but from the test configuration itself. I think there are a few things that those failed tests are expecting from a Unix environment and not from a Windows environment. The rest of the tests were succesfull. So, I proceeded with the installation: nmake install h) ..and then I tested my own scripts using XML::LibXML to check that everything was working fine. For me, everything was perfectly OK and I received no errors on any of my scripts. I hope this helps, since ActiveState has no time to fix it on PPM at the moment (according to an email I received from supp...@activestate.com). Best regards, Francisco Zarabozo From: Michiel Beijen Sent: Thursday, March 07, 2013 12:11 AM To: Francisco Zarabozo Cc: supp...@activestate.com ; Active State Perl Mailing List Subject: Re: XML::LibXML broken on PPM Hi, can you please share instructions? Esp. Compiling libxml on Windows is not easy for me, I tried but failed. Op 7 mrt. 2013 03:53 schreef "Francisco Zarabozo" <fzarab...@hotmail.com> het volgende: To whom may concern (@ActiveState): Regarding the message bellow, scratch that. 'LIBS' and 'INC' need to be defined in the call to Makefile.PL. Example: perl Makefile.PL INC=-IC:\pathtocincludes\include LIBS=-LC:\pathtolibs\lib Those should contain all the include and lib files from iconv, LibXML and zlib. I just compiled XML::LibXML v2.0014 myself successfully for Perl 5.16 x64. It should work on PPM too. Best regards, Francisco Zarabozo -----Mensaje original----- From: Francisco Zarabozo Sent: Wednesday, March 06, 2013 4:49 PM To: Active State Perl Mailing List ; supp...@activestate.com Subject: XML::LibXML broken on PPM To whom may concern (@ActiveState): The module XML::LibXML is failing to build on PPM since v1.71 (current version is 2.0014). While looking at the logs on http://ppm4.activestate.com, I see that the following environment variables are being set: LIB=... INCLUDE=... But, I also see that Makefile.PL suggests setting the following variables: LIBS=... INC=... I suspect this was a change on v1.71 and it’s possible that by just changing ‘LIB’ and ‘INCLUDE’ to ‘LIBS’ and ‘INC’ it will work again. I hope you can at least try it soon, I’m using AS Perl 5.16 x64 and there’s no successful build of XML::LibXML for it. This is a very important module for any Perl project dealing with serious XML data. Thanks in advance! Best regards, Francisco Zarabozo _______________________________________________ ActivePerl mailing list ActivePerl@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs _______________________________________________ ActivePerl mailing list ActivePerl@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs _______________________________________________ ActivePerl mailing list ActivePerl@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs