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