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:214:
error: previous declaration of 'size_t' was here
[2] === ticonv.h komplett ===
/* Hey EMACS -*- linux-c -*- */
/* $Id: ticonv.h 3785 2007-09-19 11:51:51Z roms $ */
/* libTICONV - charset library, a part of the TiLP project
* Copyright (C) 1999-2006 Romain Lievin and Kevin Kofler
*
* This program is free software; you can redistribute it
and/or modify
* it under the terms of the GNU General Public License as
published by
* the Free Software Foundation; either version 2 of the
License, or
* (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General
Public License
* along with this program; if not, write to the Free
Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA.
*/
#ifndef __TICONV_H__
#define __TICONV_H__
#ifdef HAVE_CONFIG_H
# include
#endif
//#undef TICONV_ICONV_INTERFACE
// Need size_t declaration.
#ifdef __cplusplus
#include <cstddef>
#else
#include
#endif
// Need iconv_t declaration.
#if defined(TICONV_ICONV_INTERFACE)
#include
#endif
#include "export4.h"
/***********************/
/* Types & Definitions */
/***********************/
/* Versioning */
#ifdef __WIN32__
# define LIBCONV_VERSION "1.0.5"
#else
# define LIBCONV_VERSION VERSION
#endif
#if !defined(__TIFILES_H__)
/**
* CalcModel:
*
* An enumeration which contains several calculator models.
*
**/
typedef enum
{
CALC_NONE = 0,
CALC_TI73, CALC_TI82, CALC_TI83, CALC_TI83P, CALC_TI84P,
CALC_TI85, CALC_TI86,
CALC_TI89, CALC_TI89T, CALC_TI92, CALC_TI92P, CALC_V200,
CALC_TI84P_USB, CALC_TI89T_USB,
} CalcModel;
#endif
#if defined(TICONV_ICONV_INTERFACE)
/**
* ticonv_iconv_t:
* @src_calc:
* @iconv_desc:
* @dest_calc:
* @lossy_count:
* @lookahead_result:
* @lookahead_errno:
* @lookahead:
*
* A structure which is an identifier for conversion method
from one codeset to another.
* Exported if ICONV_INTERFACE is enabled.
*
**/
typedef struct
{
CalcModel src_calc;
iconv_t iconv_desc;
CalcModel dest_calc;
size_t lossy_count;
size_t lookahead_result;
int lookahead_errno;
unsigned short lookahead;
} ticonv_iconv_t;
#endif
/* Functions */
// namespace scheme: library_class_function like
ticonv_library_init
// functions suffixed with _s means 'static', no memory
allocation
#ifdef __cplusplus
extern "C" {
#endif
/****************/
/* Entry points */
/****************/
//TIEXPORT4 int TICALL ticonv_library_init(void);
//TIEXPORT4 int TICALL ticonv_library_exit(void);
/*********************/
/* General functions */
/*********************/
// ticonv.c
TIEXPORT4 const char* TICALL ticonv_version_get (void);
TIEXPORT4 size_t TICALL ticonv_utf16_strlen(const unsigned
short *str);
TIEXPORT4 unsigned short* ticonv_utf8_to_utf16(const char
*str);
TIEXPORT4 char* ticonv_utf16_to_utf8(const unsigned
short *str);
TIEXPORT4 char* TICALL
ticonv_charset_utf16_to_ti_s(CalcModel model, const
unsigned short *utf16, char *ti);
TIEXPORT4 unsigned short* TICALL
ticonv_charset_ti_to_utf16_s(CalcModel model, const char
*ti, unsigned short *utf16);
TIEXPORT4 char* TICALL
ticonv_charset_utf16_to_ti(CalcModel model, const unsigned
short *utf16);
TIEXPORT4 unsigned short* TICALL
ticonv_charset_ti_to_utf16(CalcModel model, const char
*ti);
TIEXPORT4 unsigned short* TICALL
ticonv_varname_to_utf16_s(CalcModel model, const char *src,
unsigned short *dst, unsigned char type);
TIEXPORT4 unsigned short* TICALL ticonv_varname_to_utf16
(CalcModel model, const char *src, unsigned char type);
TIEXPORT4 char* TICALL ticonv_varname_to_utf8_s(CalcModel
model, const char *src, char *dst, unsigned char type);
TIEXPORT4 char* TICALL ticonv_varname_to_utf8 (CalcModel
model, const char *src, unsigned char type);
TIEXPORT4 char* TICALL
ticonv_varname_to_filename_s(CalcModel model, const char
*src, char *dst, unsigned char type);
TIEXPORT4 char* TICALL ticonv_varname_to_filename
(CalcModel model, const char *src, unsigned char type);
TIEXPORT4 char* TICALL
ticonv_varname_to_tifile_s(CalcModel model, const char
*src, char *dst, unsigned char type);
TIEXPORT4 char* TICALL ticonv_varname_to_tifile
(CalcModel model, const char *src, unsigned char type);
TIEXPORT4 char* TICALL
ticonv_varname_from_tifile_s(CalcModel model, const char
*src, char *dst, unsigned char type);
TIEXPORT4 char* TICALL ticonv_varname_from_tifile
(CalcModel model, const char *src, unsigned char type);
// charset.c
extern TIEXPORT4 const unsigned long TICALL
ti73_charset[256];
extern TIEXPORT4 const unsigned long TICALL
ti82_charset[256];
extern TIEXPORT4 const unsigned long TICALL
ti83_charset[256];
extern TIEXPORT4 const unsigned long TICALL
ti83p_charset[256];
extern TIEXPORT4 const unsigned long TICALL
ti85_charset[256];
extern TIEXPORT4 const unsigned long TICALL
ti86_charset[256];
extern TIEXPORT4 const unsigned long TICALL
ti9x_charset[256];
// tokens.c
TIEXPORT4 char* TICALL ticonv_varname_detokenize(CalcModel
model, const char *src, unsigned char type);
TIEXPORT4 char* TICALL ticonv_varname_tokenize (CalcModel
model, const char *src, unsigned char type);
// filename.c
TIEXPORT4 char* TICALL ticonv_utf16_to_gfe(CalcModel
model, const unsigned short *src);
TIEXPORT4 char* TICALL ticonv_gfe_to_zfe(CalcModel model,
const char *src);
// iconv.c: exported if ICONV_INTERFACE has been enabled
from configure.
#if defined(TICONV_ICONV_INTERFACE)
/* Allocate descriptor for code conversion from codeset
FROMCODE to
codeset TOCODE. */
TIEXPORT4 ticonv_iconv_t TICALL ticonv_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. */
TIEXPORT4 size_t TICALL ticonv_iconv (ticonv_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. */
TIEXPORT4 int TICALL ticonv_iconv_close (ticonv_iconv_t
cd);
#endif
/************************/
/* Deprecated functions */
/************************/
#ifdef __cplusplus
}
#endif
#endif
--- ende ---
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-programming-de+help@opensuse.org