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

SourceForge.net noreply at sourceforge.net
Sat Sep 13 12:19:48 EDT 2003


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

Category: Build control
Group: None
Status: Open
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: 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