[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [h-e-w] libxml2

From: Eli Zaretskii
Subject: Re: [h-e-w] libxml2
Date: Tue, 09 Aug 2011 01:05:34 -0400

> Date: Mon, 8 Aug 2011 18:39:41 -0400
> From: Sean Sieger <address@hidden>
> I realize this has nothing to do with Emacs, buut, I'm trying to build Emacs
> with libxml2 support ... what's this mean:
> gcc.exe -DWIN32 -D_WINDOWS -D_MBCS -DNOLIBTOOL  -I.. -I../include -I.\include 
> -D
> -o i
> nt.mingw/dict.o -c ../dict.c
> In file included from 
> c:\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/
> wchar.h:616:0,
>                  from 
> c:\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/
> iconv.h:106,
>                  from ../include/libxml/encoding.h:28,
>                  from ../include/libxml/parser.h:807,
>                  from ../include/libxml/globals.h:18,
>                  from ../include/libxml/threads.h:35,
>                  from ../include/libxml/xmlmemory.h:218,
>                  from ../include/libxml/tree.h:1248,
>                  from ../dict.c:32:
> c:\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/stdint.h:32:20: 
> error:
>  conflicting types for 'uint32_t'
> ../dict.c:29:26: note: previous declaration of 'uint32_t' was here
> make: *** [int.mingw/dict.o] Error 1

Here's the relevant portion of dict.c (assuming you are using the
latest version 2.7.8 available from

  #define IN_LIBXML
  #include "libxml.h"

  #include <string.h>
  #ifdef HAVE_STDINT_H
  #include <stdint.h>
  #include <inttypes.h>
  #elif defined(WIN32)
  typedef unsigned __int32 uint32_t;   <<<<< line 29 of dict.c

The typedef is the reason of the error.

Since you obviously do have stdint.h (see above, in the GCC error
message), the question is: how come HAVE_STDINT_H is not defined by
the configure script?  For that matter, HAVE_INTTYPES_H should also be
defined, because MinGW headers do include that.

IOW, the typedef that is tripping you is the last line of defense,
probably for the MSVC compiler that is old enough to have neither
stdint.h nor inttypes.h; you should have never got there.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]