Re: Re: ./configure bricht mit "error: conflicting types for 'size_t'" ab

Guido Pinkernell <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Danke für die Rückmeldung. Um es vorweg zu nehmen: Auch 
unistd.h liest die (widersprechende) stddef.h aus. Details 
inline:

Am Montag, 22. Oktober 2007 21:08:26 schrieb Philipp Thomas:
> On Mon, 22 Oct 2007 15:48:19 +0200, Guido Pinkernell 
wrote:
> >[1]. Ich vermute, es hängt mit sich
> >widersprechenden Definitionen von size_t zusammen, die
> > im log zuerst wohl aus iconv ausgelesen werden, und
> > dann am Schluss, als libz überprüft wird. (Im übrigen
> > zeigt die config.log noch an anderen Stellen die
> >Fehlermeldung "error: conflicting types for 'size_t'"
> > an. Nur bei libz führt sie zum Abbruch.)
>
> Deine Schlussfolgerungen sind falsch.  ticonv.h lädt
> stddef.h, um die Definition von size_t zu bekommen. Nun
> scheint diese Definition nicht mit dem übereinzustimmen,
> was in unistd.h steht.

[...]

> Zeile 245 aus /usr/include/unistd.h von glibc-devel aus
> 10.3 (keine Updates) enthält bei mir:
>
> #if defined __USE_BSD || defined __USE_XOPEN
> # ifndef __socklen_t_defined
> typedef __socklen_t socklen_t;
> #  define __socklen_t_defined
> # endif
> #endif

Bei mir steht dasselbe - siehe unten.

> Also poste doch bitte mal (mit ein wenig Kontext), was
> bei Dir and den Stellen in /usr/include/unistd.h und
> /usr/lib64/gcc/x86_64-suse-linux/4.2.1/include/stddef.h
> steht.

Ich zitiere noch einmal der Nachvollziehbarkeit halber die 
entsprechenden Passagen aus der config.log und dann die 
Passagen der dort angesprochen Dateien:

=== config.log ===

configure:36130: gcc -o 
conftest -g -O2 -D__LINUX__ -I.   -D_REENTRANT  
conftest.c -L/usr/lib64  -lz  >&5
In file included from /usr/include/zconf.h:289,
                 from /usr/include/zlib.h:34,
                 from conftest.c:119:
/usr/include/unistd.h:245: error: conflicting types 
for 'size_t'
/usr/lib64/gcc/x86_64-suse-linux/4.2.1/include/stddef.h:214: 
error: previous declaration of 'size_t' was here

=== unistd.h = Zeilen 195 - 248 ===
=== man beachte Zeile 198 ===

#define	__need_size_t
#define __need_NULL
#include <stddef.h>

#if defined __USE_XOPEN || defined __USE_XOPEN2K
/* The Single Unix specification says that some more types 
are
   available here.  */
# ifndef __gid_t_defined
typedef __gid_t gid_t;
#  define __gid_t_defined
# endif

# ifndef __uid_t_defined
typedef __uid_t uid_t;
#  define __uid_t_defined
# endif

# ifndef __off_t_defined
#  ifndef __USE_FILE_OFFSET64
typedef __off_t off_t;
#  else
typedef __off64_t off_t;
#  endif
#  define __off_t_defined
# endif
# if defined __USE_LARGEFILE64 && !defined __off64_t_defined
typedef __off64_t off64_t;
#  define __off64_t_defined
# endif

# ifndef __useconds_t_defined
typedef __useconds_t useconds_t;
#  define __useconds_t_defined
# endif

# ifndef __pid_t_defined
typedef __pid_t pid_t;
#  define __pid_t_defined
# endif
#endif	/* X/Open */

#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
# ifndef __intptr_t_defined
typedef __intptr_t intptr_t;
#  define __intptr_t_defined
# endif
#endif

    = schließlich die Zeilen 243 bis 248 =

#if defined __USE_BSD || defined __USE_XOPEN
# ifndef __socklen_t_defined
typedef __socklen_t socklen_t;
#  define __socklen_t_defined
# endif
#endif

=== stddef.h = Zeilen 213 bis 218 ===

#if !(defined (__GNUG__) && defined (size_t))
typedef __SIZE_TYPE__ size_t;
#ifdef __BEOS__
typedef long ssize_t;
#endif /* __BEOS__ */
#endif /* !(defined (__GNUG__) && defined (size_t)) */

=== Ende ===
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.