Hi Ariel;

Thanks for looking.

--- On Tue, 11/8/11, Ariel Constenla-Haile wrote:
> Hello Pedro,
> 
...
> 
> looking at https://issues.apache.org/ooo/show_bug.cgi?id=118574 
> IMHO the solution is not acceptable: you cannot include a
> header that is not used at all in that file.
> None of the files you've patched so far
> uses wchar.h directly, so the issue is with the BSD port
> and should be fixed there.
> 

I agree that this issue seems to be particular of the
FreeBSD port.
I discussed this with Maho@ a while ago and we decided we
will keep the patch in our local port.

> Notice that your issue is because your using your system's
> libxml2:
> 
> libxml/encoding.h includes /usr/local/include/iconv.h if
> LIBXML_ICONV_ENABLED is defined. So you see that error on
> every OOo file
> that includes a libxml header that in turn includes
> libxml/encoding.h
> 
> On Fedora, building with system libxml works fine, I don't
> get that
> error. In fact, /usr/local/include/iconv.h has no line 114
> and it does
> not use mbstate_t at all.
> I wonder how your system's iconv.h looks like, does it use
> mbstate_t at
> all? Is your system's libxml configured with
> LIBXML_ICONV_ENABLED?
>

I am using libiconv-1.13.1 and libxml2-2.7.8.
libxml is configured to use libiconv.

It sure uses mbstate_t:

/usr/local/include/iconv.h

...
/* A type that holds all memory needed by a conversion descriptor.
   A pointer to such an object can be used as an iconv_t. */
typedef struct {
  void* dummy1[28];
#if 1
  mbstate_t dummy2;
#endif
} iconv_allocation_t;
...

This doesn't seem to be BSD specific though, shouldn't
everyone be using libiconv with libxml2 ?

cheers,

Pedro.

Reply via email to