You are viewing a plain text version of this content. The canonical link for it is here.
Posted to p-dev@xerces.apache.org by Martin Raspe <ra...@uni-trier.de> on 2003/11/03 19:19:18 UTC
Building XML-Xerces-2.3.0-3 on Windows
Here is a short report for Windows (Win2000, VC 6):
1. The xerces library is called "xerces-c_2" in the binary version for
Windows. The following line should be added to Makefile.pl:
if ($^O eq 'MSWin32') {
$LIBXERCES = "-lxerces-c_2";
}
2. The xerces-c binaries for Windows don't come with a "config.status"
file. Therefore I'd propose to include the needed compiler flags from
lib/Config.pm as follows:
if ($^O eq 'MSWin32') {
$CFLAGS .= " $Config::Config{cppflags} -DHAS_BOOL -TP -GX";
}
3. The "PERL_MAGIC_tied" issue in xerces.cpp can be resolved (as already
stated) by replacing the undefined constant with 'P'.
These changes seems to make everything compile and link out of the box.
For the tests to work it is important that the Xerces dll is in the
system path.
I'll send a detailed report on the test results as soon a possible.
Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org
Re: Building XML-Xerces-2.3.0-3 on Windows
Posted by "Jason E. Stewart" <ja...@openinformatics.com>.
Hi Martin,
I found this draft message lying in my editor - don't know if I ever
sent it off. If not, sorry.
jas.
Martin Raspe <ra...@uni-trier.de> writes:
> If I put a "print $@" after each eval and run the test separately then
> it passes ok ...
>
> D:\Src\XML-Xerces-2.3.0-3> perl t/schema.t
>
> 1..3
> ok 1 - module loaded
> ok 2
> ok 3
> FATAL ERROR:
> FILE: FAKE_SYSTEM_ID
> LINE: 41
> COLUMN: 6
> MESSAGE: Expected end of tag 'personnel'
> at t/schema.t line 50
This is correct, why should adding the print suddenly make the test
run correctly, though?
> Handling Unknown exception, <IN> chunk 1.
> # Looks like your test died just after 3.
>
> (I'm not sure if the last two lines are correct.)
Yes, this seems to happen if exceptions get thrown, the perl test
harness gets unhappy sometimes.
> >>It seems the error code somehow gets lost or overwritten when the
> >>$error object is referenced again. If you reverse the arguments in the
> >>"ok" clause as follows it passes the test:
> >>
> >>ok($error->getCode() == $XML::Xerces::XMLExcepts::URL_NoProtocolPresent
> >>&&
> >>UNIVERSAL::isa($error,'XML::Xerces::XMLException')
> >>&&
> >>$error);
>
> > That will be a big problem for handling exceptions - the above code
> > will die if the error isn't an exception object...
>
> Yes, I just wanted to show that the code is returned correctly if
> called first.
Understood.
> May be the reason is that the exception handling code itself raises
> an exception.
Yes, it does seem to be happening.
jas.
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org
Re: Building XML-Xerces-2.3.0-3 on Windows
Posted by Martin Raspe <ra...@uni-trier.de>.
Jason E. Stewart wrote:
>>t\Schema..................ok 3/3
>>
>>Handling Unknown exception, <IN> chunk 1.
>># Looks like your test died just after 3.
>>t\Schema..................dubious
>> Test returned status 255 (wstat 65280, 0xff00)
>> after all the subtests completed successfully
>>
>>Test 3 says: "Resolver: Couldn't create input source for entity:
>>No matching function for overloaded 'new_LocalFileInputSource' at
>>Xerces.pm line 1786."
>
>
> Once again this message happens because the constructor gets called
> without a filename - which means that the EntityResolver actually
> failed to resolve things.
>
> Could you activate the print statements in the test code and run it
> again?
If I put a "print $@" after each eval and run the test separately then
it passes ok ...
D:\Src\XML-Xerces-2.3.0-3> perl t/schema.t
1..3
ok 1 - module loaded
ok 2
ok 3
FATAL ERROR:
FILE: FAKE_SYSTEM_ID
LINE: 41
COLUMN: 6
MESSAGE: Expected end of tag 'personnel'
at t/schema.t line 50
Handling Unknown exception, <IN> chunk 1.
# Looks like your test died just after 3.
(I'm not sure if the last two lines are correct.)
>>t\URLInputSource..........dubious
>> Test returned status 2 (wstat 512, 0x200)
>>DIED. FAILED tests 6, 8
>> Failed 2/8 tests, 75.00% okay
>>
>>In Test 6 $error->GetCode() returns 0 (correct: 105).
>>In Test 8 $error->GetCode() returns 101 (correct) if called
>>immediately, later 67114035.
>
>
> sounds like serious problems in the exception handling code.
>
>
>>It seems the error code somehow gets lost or overwritten when the
>>$error object is referenced again. If you reverse the arguments in the
>>"ok" clause as follows it passes the test:
>>
>>ok($error->getCode() == $XML::Xerces::XMLExcepts::URL_NoProtocolPresent
>>&&
>>UNIVERSAL::isa($error,'XML::Xerces::XMLException')
>>&&
>>$error);
> That will be a big problem for handling exceptions - the above code
> will die if the error isn't an exception object...
Yes, I just wanted to show that the code is returned correctly if called
first. May be the reason is that the exception handling code itself
raises an exception.
Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org
Re: Building XML-Xerces-2.3.0-3 on Windows
Posted by "Jason E. Stewart" <ja...@openinformatics.com>.
Martin Raspe <ra...@uni-trier.de> writes:
> I put a file "mswin32.pl" in the /hints directory and it got called by
> Makefile.pl via the MakeMaker module.
Ok, that's good to know, thanks.
> The problem is that this hints file is not found by Makefile.pl in
> the /Handler subdir, so the handlers fail to compile.
really? How odd.
> I wonder if this could be due to the fact that I had to change the
> statement
>
>
> \${MAKE} -C Handler static
>
> to
>
> cd Handler && \$(MAKE) static
>
> (VC's "nmake" doesn't seem to have a -C equivalent)? But I think the
> hints file should be called during the "perl Makefile.pl" procedure.
Correct, it should be handled at 'perl Makefile.PL time'.
> > If so then perhaps making a PPM file is the way to go.
>
> I guess you're right. I could do that, but I need some more
> time. Maybe you'll want to take a look at the test results first
> (below). Should the PPM file include the xerces-c DLL, or does the
> Apache license prohibit that?
That should be fine with them.
> PS. Here are the test results on Windows. I have omitted the
> successful tests and commented the others.
Cool! Thanks.
> Some errors can be avoided by simple changes in the test files. I'm
> not sure what is happening to the exception codes (this seems to be
> the major problem). The same problem was already present in 2.3.0-0.
Ok, thats helpful.
> t\AttributeList...........ok 5/8
>
> No matching function for overloaded 'AttributeList_getValue'
> at D:/Src/XML-Xerces-2.3.0-3/blib/lib/XML/Xerces.pm line 221.
Damn that bloody getValue() function - it's a real pain. What I fail
to understande is why Attributes.t passes without trouble - they are
nearly identical, and usually when one fails the other will too.
This is SWIG's way of telling you that the method you called expected
arguments but didn't get the ones it expected.
> # Looks like you planned 8 tests but only ran 5.
> # Looks like your test died just after 5.
> t\AttributeList...........dubious
> Test returned status 255 (wstat 65280, 0xff00)
> DIED. FAILED tests 6-8
> Failed 3/8 tests, 62.50% okay
>
> It is line 113 that fails:
> $self->{test} = {$attrs->to_hash()};
> All other tests succeed after deleting this one.
having a working to_hash() function is really important, though, You
don't want to have to use DOMNamedNodeMap objects if you can use a
Perl hash instead.
> "2>/dev/null" is Unix syntax that doesn't work under Windows. The test
> succeeds if I delete this suffix.
Yeah - you can tell I develop for linux. I'll check to see if I need
it on linux, if I don't I'll remove it for -4.
> t\DOMDocument.............NOK 3# Failed test (t\DOMDocument.t at
> line 82)
> t\DOMDocument.............NOK 4# Failed test (t\DOMDocument.t at
> line 90)
>
> t\DOMDocument.............ok 35125/35125# Looks like you failed 2
> tests of 35125.
well that means that unicode for windows seems to be working out of
the box.
> It's the same error twice:
> $@->{code} does not return
> $XML::Xerces::DOMException::INVALID_CHARACTER_ERR (= 5),
> but 21036276
hmmmm....
> t\SAXException............ok 1/6
>
> UNIVERSAL::isa($error,'XML::Xerces::SAXNotSupportedException') is true,
> but $error->getMessage() dies with the message "Handling Unknown
> Exeption"
How nice, an exception in the exception handling code!
> t\Schema..................ok 3/3
>
> Handling Unknown exception, <IN> chunk 1.
> # Looks like your test died just after 3.
> t\Schema..................dubious
> Test returned status 255 (wstat 65280, 0xff00)
> after all the subtests completed successfully
>
> Test 3 says: "Resolver: Couldn't create input source for entity:
> No matching function for overloaded 'new_LocalFileInputSource' at
> Xerces.pm line 1786."
Once again this message happens because the constructor gets called
without a filename - which means that the EntityResolver actually
failed to resolve things.
Could you activate the print statements in the test code and run it
again?
> # Looks like you failed 2 tests of 8.
> t\URLInputSource..........dubious
> Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 6, 8
> Failed 2/8 tests, 75.00% okay
>
> In Test 6 $error->GetCode() returns 0 (correct: 105).
> In Test 8 $error->GetCode() returns 101 (correct) if called
> immediately, later 67114035.
sounds like serious problems in the exception handling code.
>
> It seems the error code somehow gets lost or overwritten when the
> $error object is referenced again. If you reverse the arguments in the
> "ok" clause as follows it passes the test:
>
> ok($error->getCode() == $XML::Xerces::XMLExcepts::URL_NoProtocolPresent
> &&
> UNIVERSAL::isa($error,'XML::Xerces::XMLException')
> &&
> $error);
That will be a big problem for handling exceptions - the above code
will die if the error isn't an exception object...
Thanks again Martin! I'm totally thrilled that Xerces finally has
Windows support after all of these years without it.
Cheers,
jas.
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org
Re: Building XML-Xerces-2.3.0-3 on Windows
Posted by Martin Raspe <ra...@uni-trier.de>.
Jason E. Stewart wrote:
> Martin Raspe <ra...@uni-trier.de> writes:
> Whoops! Sorry I didn't realize that's what you were doing. Here's some
> help. First, the $^O test is redundant because MsWin32.pl will only
> get called for win32 in the first place.
Of course, I just copied and pasted.
> Also, instead of setting
> $CFLAGS, it should set $self->{CCFLAGS}, like this:
>
> $self->{CCFLAGS} .= " $Config::Config{cppflags} -DHAS_BOOL -TP -GX";
Yes, I read about that before but forgot again.
> $self is the MakeMaker object hash that stores all the values from the
> call to WriteMakefile, by setting the object directly, it should be
> passed to all other Makefile.PL's (in this case, only
> Handler/Makefile.PL).
>
> Please try this change.
Sorry, no luck - the cc flags don't propagate to Handler/Makefile. Maybe
someone else should test it, too - I'll be away until next Wednesday.
Here is the output I get - do you see anything strange?
#-----------------
D:\Src\XML-Xerces-2.3.0-4>perl Makefile.PL
Using XERCES_LIB = C:/xerces-c_2_3_0-win32/lib
Using XERCES_INCLUDE = C:/xerces-c_2_3_0-win32/include
WARNING
You have defined the XERCESCROOT variable, but I am unable to locate
the config.status file that was used to build your Xerces-C. Without
that file, I may not be able to properly build the C++ glue files that
come with Xerces.pm.
Proceeding ...
Using Xerces-C version info from
C:/xerces-c_2_3_0-win32/include/xercesc/util/XercesVersion.hpp
Checking to see if libxerces is in your library path...Success!!
Using Xerces-C version: 2.3.0
Processing hints file hints\MSWin32.pl
Note (probably harmless): No library found for '-lpthread'
Writing Makefile for Handler
Writing Makefile for XML::Xerces
#----------------
Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org
Re: Building XML-Xerces-2.3.0-3 on Windows
Posted by "Jason E. Stewart" <ja...@openinformatics.com>.
Martin Raspe <ra...@uni-trier.de> writes:
> No, on the contrary. When I put the following condition into the hints
> file "MsWin32.pl"
>
>
> if ($^O eq 'MSWin32') {
> $CFLAGS .= " $Config::Config{cppflags} -DHAS_BOOL -TP -GX";
> }
Whoops! Sorry I didn't realize that's what you were doing. Here's some
help. First, the $^O test is redundant because MsWin32.pl will only
get called for win32 in the first place. Also, instead of setting
$CFLAGS, it should set $self->{CCFLAGS}, like this:
$self->{CCFLAGS} .= " $Config::Config{cppflags} -DHAS_BOOL -TP -GX";
$self is the MakeMaker object hash that stores all the values from the
call to WriteMakefile, by setting the object directly, it should be
passed to all other Makefile.PL's (in this case, only
Handler/Makefile.PL).
Please try this change.
Thanks again Martin,
jas.
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org
Re: Building XML-Xerces-2.3.0-3 on Windows
Posted by Martin Raspe <ra...@uni-trier.de>.
Jason E. Stewart wrote:
> Martin Raspe <ra...@uni-trier.de> writes:
> Ok, it seems that the Handler/Makefile.PL is inhibiting the effects of
> the hints file. Please change this:
>
> WriteMakefile(
> LINKTYPE => 'static',
> 'NAME' => 'Handler',
> 'INC' => $INCLUDES,
> 'OBJECT' => '$(O_FILES)',
> 'CCFLAGS' => $CFLAGS,
> 'CC' => $CXX,
> 'SKIP' => [qw( dynamic test makeaperl xs_o)],
> @OPTIMIZE,
> @LDFLAGS,
> );
>
> to:
>
> WriteMakefile(
> LINKTYPE => 'static',
> 'NAME' => 'Handler',
> 'INC' => $INCLUDES,
> 'OBJECT' => '$(O_FILES)',
> 'CC' => $CXX,
> 'SKIP' => [qw( dynamic test makeaperl xs_o)],
> @OPTIMIZE,
> @LDFLAGS,
> );
>
> Removing the CCFLAGS line, and rerun perl Makefile.PL and see if your
> resulting Handler/Makefile has the correct value for CCFLAGS. Let me
> know if it works, then I'll make the fix for the next release.
No, on the contrary. When I put the following condition into the hints
file "MsWin32.pl"
if ($^O eq 'MSWin32') {
$CFLAGS .= " $Config::Config{cppflags} -DHAS_BOOL -TP -GX";
}
but delete it from ./Makefile.pl, the hints file only affects the
./Makefile, not Handler/Makefile, even if I make the proposed change to
Handler/Makefile.pl.
On the contrary, if I make the change, but leave the condition in
./Makefile.pl, the change prevents Handler/Makefile from getting the
right flags.
The only way to make it work for me is to put the condition into
./Makefile.pl and leave Handler/Makefile.pl alone.
Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org
Re: Building XML-Xerces-2.3.0-3 on Windows
Posted by "Jason E. Stewart" <ja...@openinformatics.com>.
Martin Raspe <ra...@uni-trier.de> writes:
> I put a file "mswin32.pl" in the /hints directory and it got called by
> Makefile.pl via the MakeMaker module. The problem is that this hints
> file is not found by Makefile.pl in the /Handler subdir, so the
> handlers fail to compile. I wonder if this could be due to the fact
> that I had to change the statement
Ok, it seems that the Handler/Makefile.PL is inhibiting the effects of
the hints file. Please change this:
WriteMakefile(
LINKTYPE => 'static',
'NAME' => 'Handler',
'INC' => $INCLUDES,
'OBJECT' => '$(O_FILES)',
'CCFLAGS' => $CFLAGS,
'CC' => $CXX,
'SKIP' => [qw( dynamic test makeaperl xs_o)],
@OPTIMIZE,
@LDFLAGS,
);
to:
WriteMakefile(
LINKTYPE => 'static',
'NAME' => 'Handler',
'INC' => $INCLUDES,
'OBJECT' => '$(O_FILES)',
'CC' => $CXX,
'SKIP' => [qw( dynamic test makeaperl xs_o)],
@OPTIMIZE,
@LDFLAGS,
);
Removing the CCFLAGS line, and rerun perl Makefile.PL and see if your
resulting Handler/Makefile has the correct value for CCFLAGS. Let me
know if it works, then I'll make the fix for the next release.
I'll file a bug for this.
> \${MAKE} -C Handler static
>
> to
>
> cd Handler && \$(MAKE) static
>
> (VC's "nmake" doesn't seem to have a -C equivalent)? But I think the
> hints file should be called during the "perl Makefile.pl" procedure.
yeah - we'll have to special-case that one for win32.
I'll file a bug for this, too.
Cheers,
jas.
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org
Re: Building XML-Xerces-2.3.0-3 on Windows
Posted by Martin Raspe <ra...@uni-trier.de>.
Jason E. Stewart wrote:
> I can add those conditionals, but it would be much better to create an
> arch file in hints/ - the problem is, I don't know what to call the
> file - for OS X it is darwin.pl, for linux it is linux.pl, but windows
> and VC++ it is different...
>
> If anyone knows, please illuminate me.
I put a file "mswin32.pl" in the /hints directory and it got called by
Makefile.pl via the MakeMaker module. The problem is that this hints
file is not found by Makefile.pl in the /Handler subdir, so the handlers
fail to compile. I wonder if this could be due to the fact that I had to
change the statement
\${MAKE} -C Handler static
to
cd Handler && \$(MAKE) static
(VC's "nmake" doesn't seem to have a -C equivalent)? But I think the
hints file should be called during the "perl Makefile.pl" procedure.
> Are you using ActivePerl? Is that what most windows users do?
Yes, I think so.
> If so
> then perhaps making a PPM file is the way to go.
I guess you're right. I could do that, but I need some more time. Maybe
you'll want to take a look at the test results first (below). Should the
PPM file include the xerces-c DLL, or does the Apache license prohibit that?
Martin
PS. Here are the test results on Windows. I have omitted the successful
tests and commented the others. Some errors can be avoided by simple
changes in the test files. I'm not sure what is happening to the
exception codes (this seems to be the major problem). The same problem
was already present in 2.3.0-0.
t\AttributeList...........ok 5/8
No matching function for overloaded 'AttributeList_getValue'
at D:/Src/XML-Xerces-2.3.0-3/blib/lib/XML/Xerces.pm line 221.
# Looks like you planned 8 tests but only ran 5.
# Looks like your test died just after 5.
t\AttributeList...........dubious
Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 6-8
Failed 3/8 tests, 62.50% okay
It is line 113 that fails:
$self->{test} = {$attrs->to_hash()};
All other tests succeed after deleting this one.
t\DOMCount................ok 1/2
# Failed test (t\DOMCount.t at line 55)
# Looks like you failed 1 tests of 2.
t\DOMCount................dubious
Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 2
Failed 1/2 tests, 50.00% okay
"2>/dev/null" is Unix syntax that doesn't work under Windows. The test
succeeds if I delete this suffix.
t\DOMCreate...............ok 1/2
# Failed test (t\DOMCreate.t at line 54)
# Found output
# []
# Looks like you failed 1 tests of 2.
t\DOMCreate...............dubious
Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 2
Failed 1/2 tests, 50.00% okay
"2>/dev/null" problem - same as above.
t\DOMDocument.............NOK 3# Failed test (t\DOMDocument.t at
line 82)
t\DOMDocument.............NOK 4# Failed test (t\DOMDocument.t at
line 90)
t\DOMDocument.............ok 35125/35125# Looks like you failed 2 tests
of 35125.
t\DOMDocument.............dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 3-4
Failed 2/35125 tests, 99.99% okay
It's the same error twice:
$@->{code} does not return
$XML::Xerces::DOMException::INVALID_CHARACTER_ERR (= 5),
but 21036276
t\DOMException............NOK 2# Failed test (t\DOMException.t at
line 39)
t\DOMException............NOK 3# Failed test (t\DOMException.t at
line 89)
t\DOMException............NOK 4# Failed test (t\DOMException.t at
line 99)
t\DOMException............NOK 5# Failed test (t\DOMException.t at
line 109)
t\DOMException............NOK 6# Failed test (t\DOMException.t at
line 119)
t\DOMException............NOK 7# Failed test (t\DOMException.t at
line 130)
# Looks like you failed 6 tests of 7.
t\DOMException............dubious
Test returned status 6 (wstat 1536, 0x600)
DIED. FAILED tests 2-7
Failed 6/7 tests, 14.29% okay
Same error as above: Seems the the correct error codes are not set in
$error->{code}
t\DOMPrint................ok 1/2
# Failed test (t\DOMPrint.t at line 62)
# Found []
# Looks like you failed 1 tests of 2.
t\DOMPrint................dubious
Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 2
Failed 1/2 tests, 50.00% okay
"2>/dev/null" problem: same as above.
t\SAX2Count...............ok 1/5
# Failed test (t\SAX2Count.t at line 29)
# Failed test (t\SAX2Count.t at line 31)
# Failed test (t\SAX2Count.t at line 33)
# Failed test (t\SAX2Count.t at line 35)
# Looks like you failed 4 tests of 5.
t\SAX2Count...............dubious
Test returned status 4 (wstat 1024, 0x400)
DIED. FAILED tests 2-5
Failed 4/5 tests, 20.00% okay
"2>/dev/null" : same as above.
t\SAXCount................ok 1/5
# Failed test (t\SAXCount.t at line 29)
# Failed test (t\SAXCount.t at line 31)
# Failed test (t\SAXCount.t at line 33)
# Failed test (t\SAXCount.t at line 35)
# Looks like you failed 4 tests of 5.
t\SAXCount................dubious
Test returned status 4 (wstat 1024, 0x400)
DIED. FAILED tests 2-5
Failed 4/5 tests, 20.00% okay
"2>/dev/null" : same as above.
t\SAXException............ok 1/6
Handling Unknown exception at t\SAXException.t line 32.
# Looks like you planned 6 tests but only ran 1.
# Looks like your test died just after 1.
t\SAXException............dubious
Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 2-6
Failed 5/6 tests, 16.67% okay
UNIVERSAL::isa($error,'XML::Xerces::SAXNotSupportedException') is true,
but $error->getMessage() dies with the message "Handling Unknown Exeption"
t\Schema..................ok 3/3
Handling Unknown exception, <IN> chunk 1.
# Looks like your test died just after 3.
t\Schema..................dubious
Test returned status 255 (wstat 65280, 0xff00)
after all the subtests completed successfully
Test 3 says: "Resolver: Couldn't create input source for entity:
No matching function for overloaded 'new_LocalFileInputSource' at
Xerces.pm line 1786."
t\URLInputSource..........NOK 6# Failed test (t\URLInputSource.t at
line 48)
t\URLInputSource..........NOK 8# Failed test (t\URLInputSource.t at
line 67)
# Looks like you failed 2 tests of 8.
t\URLInputSource..........dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 6, 8
Failed 2/8 tests, 75.00% okay
In Test 6 $error->GetCode() returns 0 (correct: 105).
In Test 8 $error->GetCode() returns 101 (correct) if called immediately,
later 67114035.
It seems the error code somehow gets lost or overwritten when the $error
object is referenced again. If you reverse the arguments in the "ok"
clause as follows it passes the test:
ok($error->getCode() == $XML::Xerces::XMLExcepts::URL_NoProtocolPresent
&&
UNIVERSAL::isa($error,'XML::Xerces::XMLException')
&&
$error);
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t\AttributeList.t 255 65280 8 3 37.50% 6-8
t\DOMCount.t 1 256 2 1 50.00% 2
t\DOMCreate.t 1 256 2 1 50.00% 2
t\DOMDocument.t 2 512 35125 2 0.01% 3-4
t\DOMException.t 6 1536 7 6 85.71% 2-7
t\DOMPrint.t 1 256 2 1 50.00% 2
t\SAX2Count.t 4 1024 5 4 80.00% 2-5
t\SAXCount.t 4 1024 5 4 80.00% 2-5
t\SAXException.t 255 65280 6 5 83.33% 2-6
t\Schema.t 255 65280 3 0 0.00% ??
t\URLInputSource.t 2 512 8 2 25.00% 6 8
12 subtests skipped.
Failed 11/36 test scripts, 69.44% okay. 29/35357 subtests failed, 99.92%
okay.
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org
Re: Building XML-Xerces-2.3.0-3 on Windows
Posted by "Jason E. Stewart" <ja...@openinformatics.com>.
Martin Raspe <ra...@uni-trier.de> writes:
> 1. The xerces library is called "xerces-c_2" in the binary version for
> Windows. The following line should be added to Makefile.pl:
>
>
> if ($^O eq 'MSWin32') {
> $LIBXERCES = "-lxerces-c_2";
> }
>
> 2. The xerces-c binaries for Windows don't come with a "config.status"
> file. Therefore I'd propose to include the needed compiler flags from
> lib/Config.pm as follows:
>
>
> if ($^O eq 'MSWin32') {
> $CFLAGS .= " $Config::Config{cppflags} -DHAS_BOOL -TP -GX";
> }
I can add those conditionals, but it would be much better to create an
arch file in hints/ - the problem is, I don't know what to call the
file - for OS X it is darwin.pl, for linux it is linux.pl, but windows
and VC++ it is different...
If anyone knows, please illuminate me.
> These changes seems to make everything compile and link out of the
> box.
Great!
> I'll send a detailed report on the test results as soon a possible.
Thanks Martin! It would also be really helpful if we could put
together a binary release for Windows. I'm just not sure how to do it
at the moment.
Are you using ActivePerl? Is that what most windows users do? If so
then perhaps making a PPM file is the way to go.
I think that would open up Xerces to a lot more users...
Thanks again Martin,
jas.
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-p-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-p-dev-help@xml.apache.org