[ expat-Bugs-454879 ] Compile of xmlwf fails in cygwin v1.95.2
noreply@sourceforge.net
noreply@sourceforge.net
Wed Nov 14 11:24:03 2001
Bugs item #454879, was opened at 2001-08-24 00:39
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=110127&aid=454879&group_id=10127
Category: Build control
Group: Platform Specific
Status: Open
Resolution: None
Priority: 5
Submitted By: Pabs (pabs3)
Assigned to: Greg Stein (gstein)
Summary: Compile of xmlwf fails in cygwin v1.95.2
Initial Comment:
make.log attached
The short of it is that the .o files in the xmlwf dir reference functions in the lib as _imp__<function name>,
but in the lib (libexpat.a) the functions are named _<function name> & just <function name>
Probably some gcc flag was omitted from one or the other.
Bye,
Pabs
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2001-11-14 11:19
Message:
Logged In: NO
Do these solutions create shared libraries? With just the
changes below, I'm not getting a .so file -- any advice?
----------------------------------------------------------------------
Comment By: Gerrit Haase (siebenschlaefer)
Date: 2001-10-24 10:19
Message:
Logged In: YES
user_id=76037
I posted the patch here, (all in one line, please):
http://sourceforge.net/tracker/index.php?
func=detail&aid=454879&group_id=10127&atid=110127
Gerrit
----------------------------------------------------------------------
Comment By: Gerrit Haase (siebenschlaefer)
Date: 2001-10-24 09:52
Message:
Logged In: YES
user_id=76037
Come on, I added a -no-undefined at the link line for
libexpat and the dll is build and also xmlwf links o.k.
against the dll.
Patch:
--- lib/Makefile.in.orig Wed Oct 24 18:24:58 2001
+++ lib/Makefile.in Wed Oct 24 18:23:29 2001
@@ -90,7 +90,7 @@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS)
$(INCLUDES) $(CPPFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) -version-info
$(LIBCURRENT):$(LIBREVISION):$(LIBAGE) $(CFLAGS)
$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) --mode=link $(CCLD) -no-undefined -
version-info $(LIBCURRENT):$(LIBREVISION):$(LIBAGE)
$(CFLAGS) $(LDFLAGS) -o $@
DIST_COMMON = Makefile.in
Gerrit
----------------------------------------------------------------------
Comment By: Alex Martelli (aleax)
Date: 2001-09-13 02:02
Message:
Logged In: YES
user_id=60314
I can confirm that adding the &&!defined() to the #if line
in expat.h.in fixes everything for me on Cygwin, although I
tested defined(__CYGWIN__) rather than defined
(__CYGWIN32__) (seems more generally useful...?)
----------------------------------------------------------------------
Comment By: Neil Lunn (corrosion)
Date: 2001-08-29 04:38
Message:
Logged In: YES
user_id=78218
Meaning that the above patch should actually be applied to
expat.h.in from the source distribution.
Could someone confirm the CVS commit?
----------------------------------------------------------------------
Comment By: David Crowley (dcrowley)
Date: 2001-08-27 16:29
Message:
Logged In: YES
user_id=27458
I have this same problem. I had to make a change to
expat.h. I fixed it by changing the macro for XMLPARSEAPI.
I just added the "&& !defined(__CYGWIN32)". Here it is:
#ifndef XMLPARSEAPI
# if defined(__declspec) && !defined(__BEOS__) && !defined
(__CYGWIN32__)
# define XMLPARSEAPI(type) __declspec(dllimport) type
__cdecl
# else
# define XMLPARSEAPI(type) type
# endif
#endif /* not defined XMLPARSEAPI */
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2001-08-26 22:38
Message:
Logged In: NO
to clarify v1.95.2 is the expat version number
----------------------------------------------------------------------
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=110127&aid=454879&group_id=10127