XML-Parser and Expat 
Author Message
 XML-Parser and Expat

I'm a perl newbie and don't understand modules and dependencies very well,
yet. I'm trying to install XML-Parser-2.31 on a Win98 system with ActivePerl
5.6.0 installed. I've done a number of builds and installs, so I'm not
totally sure where all the various files I'll describe came from.

I installed expat ver. 1.95.5 and copied expat.h, libexpat.dll and
libexpat.lib to \perl\site\lib and referenced them in making parser.pm.
Somewhere along the line, something created a folder
\perl\site\lib\auto\XML\parser\expat and put expat.dll in it.

I've made and installed parser.pm and expat.pm from the XML-Parser-2.31
package (bundle?). parser.pm is in \perl\site\lib\XML and expat.pm is in
\perl\site\lib\XML\parser. At an early point, I was getting an error that
the version of parser.pm and expat.pm didn't match and I found that the copy
of expat.pm in \perl\site\lib\XML\parser was 2.27. I hadn't paid attention
to how that file got there. So I replaced it with expat.pm from the
XML-Parser build, which carries version number 2.31, same as parser.pm.

Now when I run "perl xmlcomments" to test XML-Parser, I get an error:
"XML::Parser::Expat object version 2.27 does not match bootstrap parameter
2.31 at e:\perl\lib\dynaloader.pm line 225".

Looking into expat docs, I saw something about expat.dll having to be
renamed libexpat.dll in Win systems. From dynaloader.pm and autoloader.pm, I
saw that \perl\site\lib\auto\XML\parser\expat]expat.dll was being loaded
automatically, so I prevented it by renaming the directory. Now when I run
"perl xmlcomments", I get the error:
"Can't find 'boot_XML_Parser_Expat' symbol in
e:\perl\site\lib\libexpat.dll". From this, I assume that expat.dll a
necessary dependency.

For one thing, there are too many expat's floating around, some C libraries,
some perl modules. I can't figure out what's real and what isn't.

But back to that "object version" error. The error is being thrown in
dynaloader.pm where it is calling dl_install_xsub("XML::Parser::Expat
2.31"). dynaloader docs say this is a C routine, but I don't know where to
look for it. Where is it picking up the version 2.27 reference? Where else
would it be looking for Expat objects other than in expat.pm?

Clearly something is left over from that original v2.27 of expat.pm that I
found and replaced in \perl\site\lib\XML\parser. But what could it be?

I'd appreciate any additional information on just what files need to be
installed for XML::Parser to work. And any advice on resolving this version
issue.

tia
John



Sat, 09 Apr 2005 00:43:50 GMT  
 XML-Parser and Expat

Quote:

>I'm a perl newbie and don't understand modules and dependencies very well,
>yet. I'm trying to install XML-Parser-2.31 on a Win98 system with ActivePerl
>5.6.0 installed.

Uh-oh. XML::Parser is a pretty dangerous module to install on
Activestate, because PPM, Activestate's own module installer, depends on
it. So it's easy to shoot yourself in the foot with it. Therefore,
XML::Parser needs an installation procedure that's a bit out of the
ordinary.

One of the latest precompiled binary distributions for XML::Parser and
XML::Parser::Expat, can be found on <http://xmlproj.com/PPM/>. It does
take care of this special procedure, I believe. But, it's only at
version 2.30. Will that do?

   HTH,
   Bart.



Sat, 09 Apr 2005 08:04:03 GMT  
 XML-Parser and Expat

Quote:

> I'm a perl newbie and don't understand modules and dependencies very well,
> yet. I'm trying to install XML-Parser-2.31 on a Win98 system with ActivePerl
> 5.6.0 installed. I've done a number of builds and installs, so I'm not
> totally sure where all the various files I'll describe came from.

Simplest way to install version 2.31 of XML::Parser would be to use
the ppm utility.

ppm install XML-Parser

(Installed version 2.31 for me. Just accept the prompt for where to
place the  dll.)

Of course, if you're now without a working version of XML::Parser,
then ppm (which uses XML::Parser) will no longer work.

If you want to get info on how to build the module from source, you
could try the xml mailing list. See http://lists.perl.org . (As you've
discovered already, it gets a little messy :-)

Hth.

Cheers,
Rob



Sat, 09 Apr 2005 10:20:14 GMT  
 
 [ 3 post ] 

 Relevant Pages 

1. XML-PARSER-2_30 expat compile expat.h missing

2. Perl, XML Parser and Expat

3. XML::Parser/XML::Parser::Expat

4. Expat XML:Parser install and Running ActivePerl and IndigoPerl

5. Expat and xml::parser on windows server.

6. Newbie Question: XML::Parser & Expat build problems

7. expat: XML::Parser

8. expat XML parser

9. XML::Parser::Expat

10. Solution: Building expat-1.95.2 for perl (For XML::Parse)

11. Newbie: XML::DOM and Expat

12. Parsing XML (Not XML::Parser)

 

 
Powered by phpBB® Forum Software