[Expat-bugs] [ expat-Bugs-1095888 ] make fails on Solaris 9 - expat 1.95.8

SourceForge.net noreply at sourceforge.net
Wed Jan 5 20:03:19 CET 2005


Bugs item #1095888, was opened at 2005-01-04 09:24
Message generated for change (Comment added) made by nobody
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=110127&aid=1095888&group_id=10127

Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Fred L. Drake, Jr. (fdrake)
Summary: make fails on Solaris 9 - expat 1.95.8

Initial Comment:
When executing the following:

PATH=/usr/ccs/bin:$PATH make

I receive the following output:

/bin/bash ./libtool --silent --mode=compile gcc -g -O2 -
Wall -Wmissing-prototypes -Wstrict-prototypes -
fexceptions -DHAVE_EXPAT_CONFIG_H   -I./lib -I. -o 
lib/xmlparse.lo -c lib/xmlparse.c
lib/xmlparse.c: In function `storeAttributeValue':
lib/xmlparse.c:4713: error: `pool' undeclared (first use in 
this function)
lib/xmlparse.c:4713: error: (Each undeclared identifier is 
reported only once
lib/xmlparse.c:4713: error: for each function it appears 
in.)
lib/xmlparse.c:4718: warning: left-hand operand of 
comma expression has no effect
*** Error code 1
make: Fatal error: Command failed for target 
`lib/xmlparse.lo'

E-Mail: HS.Brown at smius.com

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

Comment By: Nobody/Anonymous (nobody)
Date: 2005-01-05 11:03

Message:
Logged In: NO 

Well, not being a C programmer, I don't know what to look 
for... I do see that pool is declared (I think), but I have no 
explanation for the errors; I just want it to compile. I need to 
compile PHP to support Horde and IMP. This is a 
dependency/prereq for compiling PHP with XML support.

I wish I could puzzle it out, but I haven't a clue what I am 
looking at, sadly.

Thanks,
--H. Scott Brown


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

Comment By: Karl Waclawek (kwaclaw)
Date: 2005-01-05 10:47

Message:
Logged In: YES 
user_id=290026

I don't have Solaris available.
Have you tried playing around with the source to
find out exactly what the compiler doesn't like?

It seems this line:
lib/xmlparse.c:4713: error: `pool' undeclared (first use in 
this function)

should not be reported, as 'pool' is most certainly declared.

Karl

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

Comment By: Nobody/Anonymous (nobody)
Date: 2005-01-05 10:36

Message:
Logged In: NO 

Anybody? I could sure use some help here!

Thanks,
--H. Scott Brown

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

Comment By: Nobody/Anonymous (nobody)
Date: 2005-01-04 13:39

Message:
Logged In: NO 

./configure comes up fine, so I am not sure why make fails.

checking for an ANSI C-conforming const... yes

I am using GCC, and the above line from the ./config output 
*seems* to indicate that it is fine in ANSI compatibility mode, 
but not sure how to force ANSI compatibility. I don't see 
anything in the docs...

I need to get this running to compile it in with PHP, anybody 
done this on Solaris 9 before?

Thanks,
--H. Scott Brown

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

Comment By: Karl Waclawek (kwaclaw)
Date: 2005-01-04 11:54

Message:
Logged In: YES 
user_id=290026

The changes seem to be just the ones made since 1.95.8,
so your version looks OK. 

Which compiler are you using?
Is it in ANSI compatibility mode?

I am not the build expert here, so if you find a solution,
please let me know.

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

Comment By: Nobody/Anonymous (nobody)
Date: 2005-01-04 11:49

Message:
Logged In: NO 

Hmmmm...

The one in CVS and the one that came with the package I 
downloaded from sourceforge (expat-1.95.8.tar.gz)  are 
radically different.

It isn't clear to me which version of this file exists in the 
package I got here at SF, but I compared it to 1.143, and 
they aren't the same.

Here is a copy of my UNIX diff file:

1444c1444
<        to detect errors based on that fact.
---
>        to detect errors based on this information.
1497a1498
>     positionPtr = end;
1519a1521,1522
>       bufferPtr = buffer;
>       bufferEnd = buffer + nLeftOver;
1521,1526d1523
<     bufferPtr = buffer;
<     bufferEnd = buffer + nLeftOver;
<     positionPtr = bufferPtr;
<     parseEndPtr = bufferEnd;
<     eventPtr = bufferPtr;
<     eventEndPtr = bufferPtr;
1545c1542
<   enum XML_Status result = XML_STATUS_OK;
---
>   enum XML_Error result = XML_STATUS_OK;
1704c1701
<   enum XML_Status result = XML_STATUS_OK;
---
>   enum XML_Error result = XML_STATUS_OK;
1842c1839
<   static const XML_LChar* const message[] = {
---
>   static const XML_LChar *message[] = {
1860c1857
<     XML_L("XML or text declaration not at start of entity"),
---
>     XML_L("xml declaration not at start of external entity"),
1880c1877
<     XML_L("cannot suspend in external parameter entity"),
---
>     XML_L("cannot suspend in external parameter entity")
1881,1883d1877
<     XML_L("reserved prefix (xml) must not be undeclared or 
bound to another namespace name"),
<     XML_L("reserved prefix (xmlns) must not be declared or 
undeclared"),
<     XML_L("prefix must not be bound to one of the reserved 
namespace names")
1925,1927c1919,1921
<   static const XML_Feature features[] = {
<     {XML_FEATURE_SIZEOF_XML_CHAR,  XML_L("sizeof
(XML_Char)"),
<      sizeof(XML_Char)},
---
>   static XML_Feature features[] = {
>     {XML_FEATURE_SIZEOF_XML_CHAR,  XML_L("sizeof
(XML_Char)"), 0},
>     {XML_FEATURE_SIZEOF_XML_LCHAR, XML_L("sizeof
(XML_LChar)"), 0},
1928,1929d1921
<     {XML_FEATURE_SIZEOF_XML_LCHAR, XML_L("sizeof
(XML_LChar)"),
<      sizeof(XML_LChar)},
1948a1941,1942
>   features[0].value = sizeof(XML_Char);
>   features[1].value = sizeof(XML_LChar);
2831c2825
<             j < step ? (j += nsAttsSize - step) : (j -= step);
---
>             j < step ? ( j += nsAttsSize - step) : (j -= step);
2888c2882
<       ;  /* prefixLen includes null terminator */
---
>       ;
2895c2889
<     ;  /* i includes null terminator */
---
>     ;
2910d2903
<   /* if namespaceSeparator != '\0' then uri includes it 
already */
2913d2905
<   /* we always have a namespace separator between 
localPart and prefix */
2915,2916c2907,2908
<     uri += i - 1;
<     *uri = namespaceSeparator;  /* replace null terminator 
*/
---
>     uri = uri + (i - 1);
>     if (namespaceSeparator)
2916a2909
>       *uri = namespaceSeparator;
2930,2949d2922
<   static const XML_Char xmlNamespace[] = {
<     'h', 't', 't', 'p', ':', '/', '/',
<     'w', 'w', 'w', '.', 'w', '3', '.', 'o', 'r', 'g', '/',
<     'X', 'M', 'L', '/', '1', '9', '9', '8', '/',
<     'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', '\0'
<   };
<   static const int xmlLen = 
<     (int)sizeof(xmlNamespace)/sizeof(XML_Char) - 1;
<   static const XML_Char xmlnsNamespace[] = {
<     'h', 't', 't', 'p', ':', '/', '/',
<     'w', 'w', 'w', '.', 'w', '3', '.', 'o', 'r', 'g', '/',
<     '2', '0', '0', '0', '/', 'x', 'm', 'l', 'n', 's', '/', '\0'
<   };
<   static const int xmlnsLen = 
<     (int)sizeof(xmlnsNamespace)/sizeof(XML_Char) - 1;
< 
<   XML_Bool mustBeXML = XML_FALSE;
<   XML_Bool isXML = XML_TRUE;
<   XML_Bool isXMLNS = XML_TRUE;
<   
2957,2958c2930,2931
<   if (prefix->name
<       && prefix->name[0] == XML_T('x')
---
>   for (len = 0; uri[len]; len++)
>     ;
2959,2989d2931
<       && prefix->name[1] == XML_T('m')
<       && prefix->name[2] == XML_T('l')) {
< 
<     /* Not allowed to bind xmlns */
<     if (prefix->name[3] == XML_T('n')
<         && prefix->name[4] == XML_T('s')
<         && prefix->name[5] == XML_T('\0'))
<       return XML_ERROR_RESERVED_PREFIX_XMLNS;
< 
<     if (prefix->name[3] == XML_T('\0'))
<       mustBeXML = XML_TRUE;
<   }
< 
<   for (len = 0; uri[len]; len++) {
<     if (isXML && (len > xmlLen || uri[len] != xmlNamespace
[len]))
<       isXML = XML_FALSE;
< 
<     if (!mustBeXML && isXMLNS 
<         && (len > xmlnsLen || uri[len] != xmlnsNamespace
[len]))
<       isXMLNS = XML_FALSE;
<   }
<   isXML = isXML && len == xmlLen;
<   isXMLNS = isXMLNS && len == xmlnsLen;
< 
<   if (mustBeXML != isXML)
<     return mustBeXML ? XML_ERROR_RESERVED_PREFIX_XML
<                      : XML_ERROR_RESERVED_NAMESPACE_URI;
< 
<   if (isXMLNS)
<     return XML_ERROR_RESERVED_NAMESPACE_URI;
< 
5347c5289
<     if (namespaceSeparator)
---
>     if (namespaceSeparator != XML_T('\0'))
5373c5315
<     if (namespaceSeparator)
---
>     if (namespaceSeparator != XML_T('\0'))


Should I try simply replacing xmlparse.c with the one from 
CVS in my distro?

Thanks,
--Scott

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

Comment By: Karl Waclawek (kwaclaw)
Date: 2005-01-04 10:19

Message:
Logged In: YES 
user_id=290026

Your line numbers seem off. Are you using the correct 
xmlparse.c? Compare it with CVS.

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

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


More information about the Expat-bugs mailing list