Hallo Ralf. vielen Dank, die erste Klippe habe ich mit deinem Tip umschifft. On 11-Jun-2001 Ralf Corsepius wrote:
"Heinz W. Pahlke" wrote:
Die Warnungen, denke ich, kann man in den Wind schlagen. Das Problem
Haette ich vielleicht lieber doch nicht...
liegt wohl in der genannten Zeile 74 von makedb.h:
#define CALC_QTW(qtf, qmf, idf) \ ((0.5 + (0.5 * (qtf)/(qmf))) * (idf));
Sind es nur meine mehr als bescheidenen Programmierkenntnisse, dass ich keinen Fehler entdecken kann? Vermutlich hat jemand einen DOS-Editor benutzt oder Dateien mittels ftp-Text-mode übertragen. (\r\n = <CR><LN> - DOS-Zeilentrennung, Unix: \n = <LN>).
Sollte das zutreffen, würde ich den Editor zu wechseln, da gute Unix-Editoren \r normalerweise anzeigen und nicht heimlich
Du willst doch nicht etwa behaupten, vim = schlechter Unix-Editor ;-)
verschlucken (weshalb Du sie vermutlich nicht siehst).
Aber in der Tat, da muss tatsaechlich etwas wie \r gestanden haben.
Bloss kompilieren laesst sich yase weiterhin nicht. Das Programm
scheint etwas buggy zu sein. (So wird z.B. ein --disable-libxml entgegen
gegenteiliger Aussage von ./configure --help _nicht_ ausgewertet.)
Jetzt endet make mit:
--------------------------------8<-------------------------------------
ystdio.c: In function `file_getpos':
ystdio.c:109: aggregate value used where an integer was expected
ystdio.c:110: conversion to non-scalar type requested
ystdio.c: In function `file_setpos':
ystdio.c:124: conversion to non-scalar type requested
ystdio.c:125: aggregate value used where an integer was expected
make[1]: *** [ystdio.o] Error 1
make[1]: Leaving directory `/tmp/yase-0.9.7/src'
make: *** [src] Error 2
--------------------------------8<-------------------------------------
Die fraglichen Zeilen sind:
*pos = (filepos_t) _pos;
assert(_pos == (fpos_t)*pos);
[...]
fpos_t _pos = (fpos_t)*pos;
assert((filepos_t)_pos == *pos);
Sagt mir natuerlich alles ;-)
Beste Gruesse,
Heinz.
--
E-Mail: Heinz W. Pahlke