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

Guido Pinkernell <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Tut mir leid, ich fürchte, ich habe als letzten Anhang die 
falsche Datei zitiert. Statt ticonv.h muss es wohl iconv.h 
sein.

Ich ersetze also:

Am Montag, 22. Oktober 2007 15:48:19 schrieb Guido 
Pinkernell:
> Hallo Liste,
>
> ich habe ein Problem mit der Kompilation eines Programms
> tilp (Details folgen). Auf der opensuse Liste hat man mir
> geraten, hier vorzusprechen. Ich habe die programmers-de
> Liste abonniert, bin aber kein Programmierer, kompiliere
> aber gerne dann und wann, wenn's nötig ist, selbst.
> Details:
>
> Mein System: Opensuse 10.3 mit allen Updates
> darunter:
>
> zlib-1.2.3-75
> zlib-devel-1.2.3-75
> zlib-devel-32bit-1.2.3-75
> zlib-32bit-1.2.3-7
>
> gcc-4.2-24
> libgcc42-32bit-4.2.1_20070724-17
> gcc42-gij-4.2.1_20070724-26
> libgcc42-4.2.1_20070724-17
> gcc-gij-4.2-24
> gcc42-32bit-4.2.1_20070724-17
> gcc42-4.2.1_20070724-17
>
> glibc-locale-32bit-2.6.1-18.2
> glibc-2.6.1-18.2
> glibc-devel-2.6.1-18.2
> glibc-devel-32bit-2.6.1-18.2
> glibc-32bit-2.6.1-18.2
> glibc-locale-2.6.1-18.2
> glibc-i18ndata-2.6.1-18.2
>
> und diese Pakete, von denen tilp anhängig ist:
>
> libticonv-1.0.5-1
> libticalcs2-1.0.8-1
> libticables2-1.1.0-1
> libtifiles2-1.0.8-1
>
> Das Paket, dessen Kompilation scheitert, heisst tilp und
> ist ebenso wie die vier vorgenannten (zusammengefasst
> "tilibs") hier herunterzuladen:
>
> http://www.ticalc.org/pub/unix/
>
> Nun zum Problem:
>
> ./configure von tilp stoppt mit der Fehlermeldung
>
> checking for libz... configure: error: not found. Check
> your installation and look into config.log
>
> Die hoffentlich für das Problem relevanten Details aus
> dem log sind hier [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.)
>
> Die Datei iconv.h kommt aus dem Paket libticonv. Ich
> hänge sie mal komplett unter [2] an.
>
> Danke für jeden Kommentar!
>
> Guido
>
> [1] === Auszug aus dem config.log ===
>
> configure:25171: checking for iconv
> configure:25203: gcc -o conftest -g -O2   conftest.c  >&5
> configure:25209: $? = 0
> configure:25279: result: yes
> configure:25302: checking for iconv declaration
> configure:25341: gcc -c -g -O2  conftest.c >&5
> configure:25347: $? = 0
> configure:25366: result:
>          extern size_t iconv (iconv_t cd, char * *inbuf,
> size_t *inbytesleft, char * *outbuf, size_t
> *outbytesleft);
>
> [...]
>
> configure:36091: checking for libz
> 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:2
>14: error: previous declaration of 'size_t' was here

[2] === iconv.h komplett ===

/* Copyright (C) 1997, 1998, 1999, 2000, 2003 Free Software 
Foundation, Inc.
   This file is part of the GNU C Library.

   The GNU C Library is free software; you can redistribute 
it and/or
   modify it under the terms of the GNU Lesser General 
Public
   License as published by the Free Software Foundation; 
either
   version 2.1 of the License, or (at your option) any later 
version.

   The GNU C Library is distributed in the hope that it will 
be useful,
   but WITHOUT ANY WARRANTY; without even the implied 
warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See 
the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General 
Public
   License along with the GNU C Library; if not, write to 
the Free
   Software Foundation, Inc., 59 Temple Place, Suite 330, 
Boston, MA
   02111-1307 USA.  */

#ifndef _ICONV_H
#define _ICONV_H	1

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


__BEGIN_DECLS

/* Identifier for conversion method from one codeset to 
another.  */
typedef void *iconv_t;


/* Allocate descriptor for code conversion from codeset 
FROMCODE to
   codeset TOCODE.

   This function is a possible cancellation points and 
therefore not
   marked with __THROW.  */
extern iconv_t iconv_open (__const char *__tocode, __const 
char *__fromcode);

/* Convert at most *INBYTESLEFT bytes from *INBUF according 
to the
   code conversion algorithm specified by CD and place up to
   *OUTBYTESLEFT bytes in buffer at *OUTBUF.  */
extern size_t iconv (iconv_t __cd, char **__restrict 
__inbuf,
		     size_t *__restrict __inbytesleft,
		     char **__restrict __outbuf,
		     size_t *__restrict __outbytesleft);

/* Free resources allocated for descriptor CD for code 
conversion.

   This function is a possible cancellation points and 
therefore not
   marked with __THROW.  */
extern int iconv_close (iconv_t __cd);

__END_DECLS

#endif /* iconv.h */

 === 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.