[Expat-bugs] [ expat-Bugs-676844 ] expat.h compile error: enum XML_Status

SourceForge.net noreply at sourceforge.net
Sun Nov 16 21:53:34 EST 2003


Bugs item #676844, was opened at 2003-01-29 10:37
Message generated for change (Comment added) made by dhaji
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=110127&aid=676844&group_id=10127

Category: None
Group: None
Status: Closed
Resolution: Fixed
Priority: 9
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Fred L. Drake, Jr. (fdrake)
Summary: expat.h compile error: enum XML_Status

Initial Comment:
c++ -DHAVE_CONFIG_H -I. -I. -I../../autocfg -g -O2 -c
context.cpp  -fPIC -DPIC -o .libs/context.lo
In file included from parser.h:45,
                 from guard.h:143,
                 from context.cpp:45:
/usr/include/expat.h:657: use of enum `XML_Status'
without previous declaration
/usr/include/expat.h:736: multiple definition of `enum
XML_Status'


when building sablotron.

Hand editing the file to place the def of enum
XML_Status before any references to it fixes the problem.

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

Comment By: richard (dhaji)
Date: 2003-11-16 21:53

Message:
Logged In: YES 
user_id=910750

Hello,

I've installed Expat 1.95.7 and am getting this error...
PHP 4.34 seems to have included Expat 1.95.6 - I wonder if 
I'm in conflict here? 
swapping PHP's version of expat.h with version in 1.95.7 did 
not move things along any further, got same error...

any suggestions?

Details:
======
OS: RH Linux 6.1
gcc: 2.91.66

-----------------------------------------------------------
checking where to find xml parser... expat (new)
checking expat.h usability... no
checking expat.h presence... yes
configure: WARNING: expat.h: present but cannot be compiled
configure: WARNING: expat.h: check for missing prerequisite 
headers?
configure: WARNING: expat.h: proceeding with the 
preprocessor's result
configure: WARNING:     ## --------------------------------
---- ##
configure: WARNING:     ## Report this to bug-
autoconf at gnu.org. ##
configure: WARNING:     ## --------------------------------
---- ##
checking for expat.h... yes
checking whether expat.h is broken... yes
configure: error: You probably have expat version 1.95.6. 
-----------------------------------------------------------

thanks in advance,
 - Richard


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

Comment By: Fred L. Drake, Jr. (fdrake)
Date: 2003-10-21 00:37

Message:
Logged In: YES 
user_id=3066

Expat 1.95.7 has been released and includes the fix for this
problem.
Please update to Expat 1.95.7 if you're still having
problems related to this issue.

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

Comment By: paul jobson (vbrtrmn)
Date: 2003-10-08 14:47

Message:
Logged In: YES 
user_id=155212

Platform: OSX Jaguar 10.2
expat version 1.95.6

Sablot ./configure error message:
---------------------------------
Truncated
---------------------------------
checking where to find xml parser... expat (new)
checking expat.h usability... no
checking expat.h presence... yes
configure: WARNING: expat.h: present but cannot be compiled
configure: WARNING: expat.h: check for missing prerequisite 
headers?
configure: WARNING: expat.h: proceeding with the 
preprocessor's result
configure: WARNING:     ## --------------------------------
---- ##
configure: WARNING:     ## Report this to bug-
autoconf at gnu.org. ##
configure: WARNING:     ## --------------------------------
---- ##
checking for expat.h... yes
checking whether expat.h is broken... yes
configure: error: You probably have expat version 1.95.6. 
Please refer to:
  http://sourceforge.net/tracker/index.php?
func=detail&aid=676844&group_id=10127&atid=110127
  for a description of the problem.
---------------------------------
I downloaded the newest expat.h from the CVS, stuck it in 
the /lib directory and recompiled expat, Sablot seems to 
configure correctly, now.


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

Comment By: Karl Waclawek (kwaclaw)
Date: 2003-09-13 16:42

Message:
Logged In: YES 
user_id=290026

We intend to release soon. All that is holding us up
is finding the time to actually do it. Fred will be back
in a week, and I hope he can find the time then.

Now, since your users are expert enough to build
Expat from source, what is holding them back from 
using the current CVS? It is pretty much what we
will release, except possibly for minor details, or if
someone finds a bug, of course.

We do actually want users to build from CVS, as our
desire to have stable file releases means that we
want our changes to be tested as much as possible.

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

Comment By: Jacob Levy (jyljyljyl)
Date: 2003-09-13 16:29

Message:
Logged In: YES 
user_id=63723

Are you planning -- please? -- to make another file release 
containing these fixes? Asking my users to build expat from 
the current release is not working, because of this bug. As a 
result, I'm recommending to my users to get/use an older 
version of expat without the new nifty features.

--JYL


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

Comment By: Karl Waclawek (kwaclaw)
Date: 2003-09-13 12:19

Message:
Logged In: YES 
user_id=290026

Has been fixed in CVS for a long time.
Btw, CVS is generally stable, as we are quite careful
to commit changes only when they have been tested.
No guarantees, of course.

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

Comment By: Nobody/Anonymous (nobody)
Date: 2003-09-13 10:44

Message:
Logged In: NO 

this is simply a matter of the expat.h file being
wrongly organised so that "enum XML_Status"
is used several times before it is declared.
30 seconds copying and pasting will fix it.
currently nothing using expat.h compiles under
gcc 3.2.3

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

Comment By: Nobody/Anonymous (nobody)
Date: 2003-07-18 09:16

Message:
Logged In: NO 

After I read all this comments, i saw that u were right.  : )
I placed the following definitions 
enum XML_Status {
  XML_STATUS_ERROR = 0,
#define XML_STATUS_ERROR XML_STATUS_ERROR
  XML_STATUS_OK = 1
#define XML_STATUS_OK XML_STATUS_OK
};

at the beginning of the expat.h file, before any call to it,
and it compiled succesfully. 
After this I compiled sablot  with no problems.
thank u guys ...  : )

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

Comment By: Nobody/Anonymous (nobody)
Date: 2003-06-19 11:36

Message:
Logged In: NO 

in configure..::

checking XML::Parser perl module... no: documentation
requires XML::Parser module and will not be built.
checking whether to build under GPL... no
checking whether to build the debugger... no
checking where to find xml parser... expat (new)
checking expat.h usability... no
checking expat.h presence... yes
configure: WARNING: expat.h: present but cannot be compiled
configure: WARNING: expat.h: check for missing prerequisite
headers?
configure: WARNING: expat.h: proceeding with the
preprocessor's result
configure: WARNING:     ##
------------------------------------ ##
configure: WARNING:     ## Report this to
bug-autoconf at gnu.org. ##
configure: WARNING:     ##
------------------------------------ ##
checking for expat.h... yes
checking whether expat.h is broken... yes
configure: error: You probably have expat version 1.95.6.
Please refer to:
 
http://sourceforge.net/tracker/index.php?func=detail&aid=676844&group_id=10127&atid=110127
  for a description of the problem.


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

Comment By: Karl Waclawek (kwaclaw)
Date: 2003-05-30 16:47

Message:
Logged In: YES 
user_id=290026

Yes, the file to fix is expat.h.

Two things you can do:

1) get the latest expat.h from CVS, or

2) use your editor to search expat.h for the first
    location where XML_STATUS is used and then
    move the definition of XML_STATUS to some
    location before that point.


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

Comment By: Nobody/Anonymous (nobody)
Date: 2003-05-30 16:26

Message:
Logged In: NO 

I have the same problem has other senders, but the fix is
unclear as you did not indicate which file needs fixing (I
assume expat.h) or line number  to place the def of enum
XML_Status.  Please assume people are stupid..

checking expat.h usability... no
checking expat.h presence... yes
configure: WARNING: expat.h: present but cannot be compiled
configure: WARNING: expat.h: check for missing prerequisite
headers?
configure: WARNING: expat.h: proceeding with the
preprocessor's result
configure: WARNING:     ##
------------------------------------ ##
configure: WARNING:     ## Report this to
bug-autoconf at gnu.org. ##
configure: WARNING:     ##
------------------------------------ ##
checking for expat.h... yes
checking whether expat.h is broken... yes
configure: error: You probably have expat version 1.95.6.
Please refer to:
 
http://sourceforge.net/tracker/index.php?func=detail&aid=676844&group_id=10127&atid=110127
  for a description of the problem.

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

Comment By: Karl Waclawek (kwaclaw)
Date: 2003-05-08 09:18

Message:
Logged In: YES 
user_id=290026

See above - original submission:

Hand editing the file to place the def of enum 
XML_Status before any references to it fixes the 
problem.     

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

Comment By: Donche, Pieter (pdon)
Date: 2003-05-08 03:20

Message:
Logged In: YES 
user_id=774177

SUN Sparc Enterprise 2170 Solaris 2.8 
gcc 3.2
Downloaded expat-1.95.6.tar.gz
./configure, make, make install OK
Downloaded Sablot-0.98.tar.gz (Sablotron package,
from www.gingerall.com)
./configure says:
...
checking expat.h presence... yes
expat.h: present but cannot be compiled
expat.h: check for missing prerequisite headers?
expat.h: proceeding with the preprocessor's result
##-------------------------------------------------##
## Report this to bug-autoconf at gnu.org ##
##-------------------------------------------------##
checking for expat.h... yes
checking wether expat.h is broken... yes
error: You probably have expat version 1.95.6. Please refer to
 http://sourceforge.net/tracker/index.php?
func=detail&aid=676844&group_id=10127&atid=110127
for a description of the problem

-- Looked at that web-page. Don't see a solution there.
Wath is the solution ?
Pieter.Donche at ua.ac.be


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

Comment By: Donche, Pieter (pdon)
Date: 2003-05-08 03:20

Message:
Logged In: YES 
user_id=774177

SUN Sparc Enterprise 2170 Solaris 2.8 
gcc 3.2
Downloaded expat-1.95.6.tar.gz
./configure, make, make install OK
Downloaded Sablot-0.98.tar.gz (Sablotron package,
from www.gingerall.com)
./configure says:
...
checking expat.h presence... yes
expat.h: present but cannot be compiled
expat.h: check for missing prerequisite headers?
expat.h: proceeding with the preprocessor's result
##-------------------------------------------------##
## Report this to bug-autoconf at gnu.org ##
##-------------------------------------------------##
checking for expat.h... yes
checking wether expat.h is broken... yes
error: You probably have expat version 1.95.6. Please refer to
 http://sourceforge.net/tracker/index.php?
func=detail&aid=676844&group_id=10127&atid=110127
for a description of the problem

-- Looked at that web-page. Don't see a solution there.
Wath is the solution ?
Pieter.Donche at ua.ac.be


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

Comment By: Karl Waclawek (kwaclaw)
Date: 2003-04-16 09:59

Message:
Logged In: YES 
user_id=290026

Changed priority to highest to make it more visible,
so that double reporting incidents occur less frequently.

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

Comment By: Nobody/Anonymous (nobody)
Date: 2003-03-27 05:42

Message:
Logged In: NO 

Same problem and the same fix under Linux and gcc 2.95.2.

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

Comment By: Nobody/Anonymous (nobody)
Date: 2003-03-07 06:20

Message:
Logged In: NO 

same problem, same fix when building 1.95.6 on vms
(just downloaded .tar.gz & processed - got the rpm, but
don't know what to do with it - not an archive type I know
how to handle on vms, or windows either)
              - chris.sharman at ccagroup.co.uk

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

Comment By: Karl Waclawek (kwaclaw)
Date: 2003-02-28 21:03

Message:
Logged In: YES 
user_id=290026

Strange - I had no problems with MS VC++ 6.0.
Which service pack level have you applied?

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

Comment By: Jacob Levy (jyljyljyl)
Date: 2003-02-28 20:35

Message:
Logged In: YES 
user_id=63723

This makes Expat 1.95.6 unusable for people who create
libraries that depend on Expat but don't include their own
copy of Expat. Sure, I can edit expat.h and fix it, but my
users should not be expected to do that.

For that reason I'm staying with Expat 1.95.5 until this
problem is fixed. It'd be really nice if you could make
Expat 1.95.7 soon..

In my case GCC 2.95.2 and VC++ 6.0 are complaining.


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

Comment By: Melvyn Sopacua (nyvlem)
Date: 2003-02-14 02:56

Message:
Logged In: YES 
user_id=212431

Yes, that works.

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

Comment By: Karl Waclawek (kwaclaw)
Date: 2003-02-06 15:47

Message:
Logged In: YES 
user_id=290026

But current CVS works for you, right?

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

Comment By: Melvyn Sopacua (nyvlem)
Date: 2003-02-06 15:17

Message:
Logged In: YES 
user_id=212431

> So far only gcc3.2 has complained.

Nope:
/usr/local/include/expat.h:657: use of enum `XML_Status' 
without previous declaration
/usr/local/include/expat.h:736: multiple definition of `enum 
XML_Status'
gmake[2]: *** [context.lo] Error 1
gmake[2]: Leaving directory 
`/home/mdev/cvs/sablot/src/engine'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/mdev/cvs/sablot/src'
gmake: *** [all-recursive] Error 1

$ gcc --version
2.95.3

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

Comment By: Karl Waclawek (kwaclaw)
Date: 2003-01-31 09:43

Message:
Logged In: YES 
user_id=290026

It *is* fixed in CVS. Are you sure you checked out the 
right version, which is expat.h 1.51?

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

Comment By: Nobody/Anonymous (nobody)
Date: 2003-01-31 05:34

Message:
Logged In: NO 

I just got the same error, already fixed it. But don't 
understand why it isn't fixed in CVS ?

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

Comment By: Fred L. Drake, Jr. (fdrake)
Date: 2003-01-29 13:44

Message:
Logged In: YES 
user_id=3066

I've not checked the C89 standard yet, but Expat 1.95.6 is 
certainly dodgy in this case.  ;-(  The first draft of the C spec I 
found online certainly seemed to imply that any use of an 
incomplete enum is not allowed; I'm not likely to go out and 
buy a copy of the final spec to check further.  ;-)

As noted, this has been fixed in CVS.  Fixed the summary to 
better indicate what this report is about, and lowered the 
priority to get it out of the way for maintainers.

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

Comment By: Karl Waclawek (kwaclaw)
Date: 2003-01-29 10:51

Message:
Logged In: YES 
user_id=290026

So far only gcc3.2 has complained.
Not sure if this is a bug, since most compilers accept it,
but it has been fixed in CVS already anyway.

Set resolution status to fixed, but leave open.
There may be other users who would report this as a bug
and I want them to see the open report instead of 
having duplicates created.

Assigned to Fred - since he may know more about
whether this truly is a bug.

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

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



More information about the Expat-bugs mailing list