This is long. Sorry. I thought it best to give as much information as I could.
> > on AIX. It turns out that the Xerces.C file doesn't compile under
> > AIX4.3.2 using the xlc compiler. Are there any plans to get AIX onto
> > the supported list?
>
> Excellent! I'm glad that someone has made the effort to try this on
> AIX. First off, I would suggest upgrading to 1.5.3, there is a big
I grabbed the 1.5.3 package but it hit a problem pretty much immediately.
Running perl Makefile.PL just stopped. Removing the local-isation of STDOUT
and STDERR from before the call to
($lib) = ExtUtils::Liblist::ext(MM->new(),$LIBS);
allowed me to see this error message:
===
> perl Makefile.PL
Using XERCES_LIB = /afs/ssd/projects/tools/perl/xerces-c1_5_0-AIX43/lib
Using XERCES_INCLUDE =
/afs/ssd/projects/tools/perl/xerces-c1_5_0-AIX43/include
Checking to see if libxerces is in your library path...Checking if your kit
is complete...
Looks good
Warning: Guessing NAME [XML-Xerces] from current directory name.
Writing Makefile for XML::Xerces::DOMParse
Writing Makefile for Handler
Undefined subroutine &ExtUtils::Liblist::ext called at Makefile.PL line 66.
===
I'm using a hand compiled Perl-5.6.1 which I built just last week. Chances
are I'm missing a package which everyone takes for granted, although I do
have ExtUtils::LibList - that comes with the 5.6.1 distribution as standard.
I know my XERCESCROOT is correct, and I'm using precompiled binaries for that
package, so I took the check out of Makefile.PL and pressed on.
I got rid of the DEBIAN definition from the CFLAGS as suggested. There wasn't
a BOOL one. The compile lines looked fairly sensible then.
And they worked, or appeared to. The link line then failed:
===
LD_RUN_PATH="/afs/ssd/projects/tools/perl/xerces-c1_5_0-AIX43/lib" ld
-bhalt:4 -bM:SRE
-bI:/afs/ssd/projects/tools/perl/perl-5.6.1/lib/5.6.1/aix/CORE/perl.exp
-bE:Xerces.exp -b noentry -lC -lc -L/usr/local/lib Xerces.o
Handler/PerlContentCallbackHandler.o Handler/PerlErrorCallbackHandler.o
Handler/PerlDocumentCallbackHandler.o Handler/PerlExceptionHandler.o -o
blib/arch/auto/XML/Xerces/Xerces.so
-L/afs/ssd/projects/tools/perl/xerces-c1_5_0-AIX43/lib -lxerces-c1_5
ld: 0706-005 Cannot find or open file: Handler/PerlContentCallbackHandler.o
ld:open(): A file or directory in the path name does not exist.
ld: 0706-005 Cannot find or open file: Handler/PerlErrorCallbackHandler.o
ld:open(): A file or directory in the path name does not exist.
ld: 0706-005 Cannot find or open file: Handler/PerlDocumentCallbackHandler.o
ld:open(): A file or directory in the path name does not exist.
ld: 0706-005 Cannot find or open file: Handler/PerlExceptionHandler.o
ld:open(): A file or directory in the path name does not exist.
make: 1254-004 The error code from the last command is 255.
Stop.
===
It turns out that the objects are in the current directory, not the Handler
one. That's reasonable (although unexpected) because the compile lines look,
for example, like this:
===
cc -c -I. -IHandler
-I/afs/ssd/projects/tools/perl/xerces-c1_5_0-AIX43/include -D_REENTRANT -O
-DVERSION=\"1.5.3\" -DXS_VERSION=\"1.5.3\"
-I/afs/ssd/projects/tools/perl/perl-5.6.1/lib/5.6.1/aix/CORE
Handler/PerlExceptionHandler.cpp
===
i.e. no -o to define exactly where the output object should go.
I moved the objects to the Handler directory then reran the make. This time
the link blew up with:
===
LD_RUN_PATH="/afs/ssd/projects/tools/perl/xerces-c1_5_0-AIX43/lib" ld
-bhalt:4 -bM:SRE
-bI:/afs/ssd/projects/tools/perl/perl-5.6.1/lib/5.6.1/aix/CORE/perl.exp
-bE:Xerces.exp -b noentry -lC -lc -L/usr/local/lib Xerces.o
Handler/PerlContentCallbackHandler.o Handler/PerlErrorCallbackHandler.o
Handler/PerlDocumentCallbackHandler.o Handler/PerlExceptionHandler.o -o
blib/arch/auto/XML/Xerces/Xerces.so
-L/afs/ssd/projects/tools/perl/xerces-c1_5_0-AIX43/lib -lxerces-c1_5
ld: 0711-224 WARNING: Duplicate symbol:
__vft20NameIdPoolEnumeratorXT14DTDElementDecl_13XMLEnumeratorXT14DTDElementDecl_
ld: 0711-224 WARNING: Duplicate symbol:
__vft20NameIdPoolEnumeratorXT15XMLNotationDecl_13XMLEnumeratorXT15XMLNotationDecl_
ld: 0711-224 WARNING: Duplicate symbol:
__vft29RefHash2KeysTableOfEnumeratorXT12SchemaAttDef_13XMLEnumeratorXT12SchemaAttDef_ld:
0711-224 WARNING: Duplicate symbol:
__vft28RefHash3KeysIdPoolEnumeratorXT17SchemaElementDecl_13XMLEnumeratorXT17SchemaElementDecl_
ld: 0711-224 WARNING: Duplicate symbol:
__vft20NameIdPoolEnumeratorXT13DTDEntityDecl_13XMLEnumeratorXT13DTDEntityDecl_
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
ld: 0711-317 ERROR: Undefined symbol: .cloneNode__8DOM_NodeCFc
ld: 0711-317 ERROR: Undefined symbol:
.createNodeIterator__12DOM_DocumentF8DOM_NodeUlP14DOM_NodeFilterc
ld: 0711-317 ERROR: Undefined symbol:
.createTreeWalker__12DOM_DocumentF8DOM_NodeUlP14DOM_NodeFilterc
ld: 0711-317 ERROR: Undefined symbol: .importNode__12DOM_DocumentFRC8DOM_Nodec
ld: 0711-317 ERROR: Undefined symbol: .collapse__9DOM_RangeFc
ld: 0711-317 ERROR: Undefined symbol:
.__ct__17MemBufInputSourceFCPCUcCUiCPCcCc
ld: 0711-317 ERROR: Undefined symbol: .setDoNamespaces__9SAXParserFCc
ld: 0711-317 ERROR: Undefined symbol: .setDoSchema__9SAXParserFCc
ld: 0711-317 ERROR: Undefined symbol: .setExitOnFirstFatalError__9SAXParserFCc
ld: 0711-317 ERROR: Undefined symbol:
.setValidationConstraintFatal__9SAXParserFCc
ld: 0711-317 ERROR: Undefined symbol:
.parseFirst__9SAXParserFCPCUsR13XMLPScanTokenCc
ld: 0711-317 ERROR: Undefined symbol: .setDoValidation__9SAXParserFCc
ld: 0711-317 ERROR: Undefined symbol: .setDoNamespaces__9DOMParserFCc
ld: 0711-317 ERROR: Undefined symbol: .setExitOnFirstFatalError__9DOMParserFCc
ld: 0711-317 ERROR: Undefined symbol:
.setValidationConstraintFatal__9DOMParserFCc
ld: 0711-317 ERROR: Undefined symbol: .setDoSchema__9DOMParserFCc
ld: 0711-317 ERROR: Undefined symbol: .parse__9DOMParserFRC11InputSourceCc
ld: 0711-317 ERROR: Undefined symbol: .parse__9DOMParserFCPCcCc
ld: 0711-317 ERROR: Undefined symbol:
.parseFirst__9DOMParserFCPCUsR13XMLPScanTokenCc
ld: 0711-317 ERROR: Undefined symbol:
.parseFirst__9DOMParserFCPCcR13XMLPScanTokenCc
ld: 0711-317 ERROR: Undefined symbol:
.parseFirst__9DOMParserFRC11InputSourceR13XMLPScanTokenCc
ld: 0711-317 ERROR: Undefined symbol: .setDoValidation__9DOMParserFCc
ld: 0711-317 ERROR: Undefined symbol: .setDoNamespaces__10IDOMParserFCc
ld: 0711-317 ERROR: Undefined symbol:
.setExitOnFirstFatalError__10IDOMParserFCc
ld: 0711-317 ERROR: Undefined symbol:
.setValidationConstraintFatal__10IDOMParserFCc
ld: 0711-317 ERROR: Undefined symbol: .setDoSchema__10IDOMParserFCc
ld: 0711-317 ERROR: Undefined symbol: .parse__10IDOMParserFRC11InputSourceCc
ld: 0711-317 ERROR: Undefined symbol:
.parseFirst__10IDOMParserFCPCUsR13XMLPScanTokenCc
ld: 0711-317 ERROR: Undefined symbol: .setDoValidation__10IDOMParserFCc
make: 1254-004 The error code from the last command is 8.
Stop.
===
Excuse the formatting.
At this point I start floundering a bit. :-} I'm not sure what the
LD_RUN_PATH is, but if that's an equivalent of LD_LIBRARY_PATH on Linux, on
AIX that should be LIBPATH. I tried changing it in the link line but got the
same errors.
I do have the xerces library expected:
===
> ls -l /afs/ssd/projects/tools/perl/xerces-c1_5_0-AIX43/lib
total 8462
-rwx------ 1 fountai staff 4331524 Jun 17 01:42 libxerces-c1_5.a
===
And there I ground to a halt. Any advice appreciated.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]