Re: Building XML::LibXML on Windows

"Michael Ludwig" <[email protected]> Wed, 08 Jun 2011 15:47:27 +0200
Newsgroups gmane.comp.lang.perl.xml
Message-ID <[email protected]>
-------- Original-Nachricht --------
> Datum: Tue, 7 Jun 2011 22:39:49 +0200
> Von: Michael Ludwig <[email protected]>
 
> I will retry the ProcMon approach on the other computer tomorrow.

[PS: The solution is at the end of this mail.]

Even using lots of filters, I can't discover the error in the sea of events.

It now looks to me like the build is failing because some preliminary test generated by the Makefile.PL in a subdirectory .testlink/ fails because it contains the following line:

mt -nologo -manifest [email protected] -outputresource:$@;2 && del [email protected]

The mt is the Microsoft Manifest Tool. This translates into:

mt -nologo -manifest blib\arch\auto\Conftest\Conftest.dll.manifest -outputresource:blib\arch\auto\Conftest\Conftest.dll;2 && del blib\arch\auto\Conftest\Conftest.dll.manifest

Which, in turn, translates into the error:

blib\arch\auto\Conftest\Conftest.dll.manifest : general error c1010070: Failed to load and parse the manifest. Das System kann die angegebene Datei nicht finden.
NMAKE : fatal error U1077: "mt": Rückgabe-Code "0x1f"

The trouble was that I only found out about this after editing the Makefile.PL to prevent it from deleting the Conftest code under .testlink/, which appears to be used to probe the build environment, and then decide whether to write a Makefile or not.

If you edit the Makefile.PL to let the subroutine try_link always report success, a Makefile is written, whic is also contains the mt.exe invocation, which is apparently uncalled for in this case. Now, of course, you can edit the file to remove the mt invocation.

Then you can:

nmake
nmake test
# t\40reader.t failing
nmake install

The failing test is:

ok 48 - close
I/O error : Bad file descriptor
ok 49 - The object isa XML::LibXML::Reader
test/textReader/countries.xml:1: parser error : Extra content at the end of the document

The XML file looks fine, though.

Anyway, I got the module installed, and it works.

To recap, the funky build probing through generated code that was immediately deleted made this somewhat painful and left me rather clueless, probably also because of noobness with building on Windows and with ExtUtils::MakeMaker. (And maybe this Makefile.PL is a hand-crafted singularity.) I have no idea why this issue with the Manifest Tool (mt) showed up on one Win7 Pro machine with VS 2010 Express, but not on the other with the same OS and the same VS.

Thanks for your help,

Michael
-- 
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
_______________________________________________
Perl-XML mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs