Festival

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
geetwo
Linux 0.x
Linux 0.x
Messaggi: 42
Iscritto il: mer 17 ago 2005, 0:00
Località: Napoli

Festival

Messaggio da geetwo »

Salve a tutti,
ho un problema su un piccolo programma che deve usare le librerie di Festival TTS.
Il programma è molto semplice, deve solo passare una frase ("Hallo World") al TTS.

Codice: Seleziona tutto

#include <festival.h>



int main(int argc, char **argv)
{
int heap_size = 210000; // default scheme heap size
int load_init_files = 1; // we want the festival init files loaded
festival_initialize(load_init_files,heap_size);

// Say some text;
festival_say_text("hello world");

return 0;
}
Quando compilo e in seguito linko ottengo questi errori:

Codice: Seleziona tutto

g++ -g -Wall -I"/usr/include/festival" -I"/usr/include/speech_tools" -c prova.cpp
In file included from /usr/lib/gcc/i386-redhat-linux/3.4.4/../../../../include/c++/3.4.4/backward/fstream.h:31,
                 from /usr/include/festival/festival.h:43,
                 from prova.cpp:1:
/usr/lib/gcc/i386-redhat-linux/3.4.4/../../../../include/c++/3.4.4/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
g++ -g -Wall -I"/usr/include/festival" -I"/usr/include/speech_tools" -o prova prova.o -L"/usr/lib" -lFestival -lestools -lestbase -leststring
/usr/lib/libestools.a(editline.o)(.text+0x4d9d): In function `readline':
: undefined reference to `tgetent'
/usr/lib/libestools.a(editline.o)(.text+0x4dbe): In function `readline':
: undefined reference to `tgetstr'
/usr/lib/libestools.a(editline.o)(.text+0x4dd5): In function `readline':
: undefined reference to `tgetstr'
/usr/lib/libestools.a(editline.o)(.text+0x4dec): In function `readline':
: undefined reference to `tgetstr'
/usr/lib/libestools.a(editline.o)(.text+0x4e03): In function `readline':
: undefined reference to `tgetstr'
/usr/lib/libestools.a(editline.o)(.text+0x4e9d): In function `readline':
: undefined reference to `tgetstr'
/usr/lib/libestools.a(editline.o)(.text+0x4ecb): In function `readline':
: undefined reference to `tgetnum'
/usr/lib/libestools.a(editline.o)(.text+0x4edf): In function `readline':
: undefined reference to `tgetnum'
/usr/lib/libestools.a(editline.o)(.text+0x502a): In function `readline':
: undefined reference to `tgetstr'
collect2: ld returned 1 exit status
make: *** [prova] Error 1


se invece linko con il flag -shared non ottengo errori, ma a run-time ho un segmentation fault.

Qualcuno ha mai avuto un problema simile o potrebbe aiutarmi?

Grazie mille,
Giulio

Avatar utente
TheSnowBoarder
Linux 1.x
Linux 1.x
Messaggi: 139
Iscritto il: gio 30 giu 2005, 0:00
Località: Catania

Messaggio da TheSnowBoarder »

Pare che sia inclusa la libreria readline, ma che le sue dipendenze non siano soddisfatte.
Al momento del linking, aggiungi le opzioni

-ltermcap -lhistory

ovvero linki libtermcap e libhistory.
Se continua a darti pernacchie, prova ad aggiungere prima di -ltermcap l'opzione -lreadline

Rispondi