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]