[ expat-Bugs-432456 ] DLL name 'expat.dll' causes problems

noreply@sourceforge.net noreply@sourceforge.net
Fri May 17 17:56:02 2002


Bugs item #432456, was opened at 2001-06-12 09:25
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=110127&aid=432456&group_id=10127

Category: None
Group: Platform Specific
Status: Open
Resolution: None
Priority: 5
Submitted By: Kevin Gilpin (kgilpin)
Assigned to: Fred L. Drake, Jr. (fdrake)
Summary: DLL  name 'expat.dll' causes problems

Initial Comment:
On Win32, when attempting to build the XML::Parser 
Perl module with expat, the name 'expat.dll' is used 
by both projects. This causes problems when running 
XML::Parser, because only one of the 2 dlls can be 
loaded.

By changing the output target of expat 
to 'libexpat.dll' (and generating and linking against 
the corresponding libexpat.lib) I was able to get 
XML::Parser successfully built and running on Win NT.

----------------------------------------------------------------------

>Comment By: Greg Stein (gstein)
Date: 2002-05-17 17:55

Message:
Logged In: YES 
user_id=6501

Calling the library expat2.dll would be fine with me.
libexpat.dll might also be fine.

But also note: *we* are Expat, not the Perl extension. We
have more "right" to expat.dll if that is what we choose to do.

----------------------------------------------------------------------

Comment By: Fred L. Drake, Jr. (fdrake)
Date: 2001-10-01 15:08

Message:
Logged In: YES 
user_id=3066

So this appearantly never worked with Expat 1.95+.  Sigh. 
We could go back to xmlparse.dll I suppose, but I don't
really like that.  I don't know that we've retained enough
compatibility with that.  Perhaps "expat2" would be good
enough, since the real target right now is a stable Expat 2.0.

I'll think about this a little more, but I'd like to have it
solved in Expat 1.95.3.

Assigning to me since Clark has been abducted by aliens.

----------------------------------------------------------------------

Comment By: Kevin Gilpin (kgilpin)
Date: 2001-10-01 14:51

Message:
Logged In: YES 
user_id=44882

The problem is that the Perl extension consists of 2 dlls:

1) the expat DLL, which does not contain any perl references
2) the perl -> expat DLL, which references both the Perl 
APIs and the Expat APIs

Both of these DLLs are called 'expat.dll', which is a 
problem b/c Windows will cannot tell the difference between 
them when the Perl program is run

----------------------------------------------------------------------

Comment By: Fred L. Drake, Jr. (fdrake)
Date: 2001-10-01 13:26

Message:
Logged In: YES 
user_id=3066

Thinking about this again, I realize I don't know enough
about the Perl extension machinery and mod_perl to be sure
of this.  Is mod_perl providing an expat.dll which is
something different, or is it a different version of that
mod_perl uses?

We need a mod_perl/XML::Parser expert to answer reports like
this one!  Leaving this one assigned to Clark until we have
such a person with available time.

----------------------------------------------------------------------

Comment By: Fred L. Drake, Jr. (fdrake)
Date: 2001-07-25 09:39

Message:
Logged In: YES 
user_id=3066

This relates to having multiple versions of the library being made available in the same process.  Assigned to Clark since he might have more of the context information related to XML::Parser.

----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=110127&aid=432456&group_id=10127