Subject: Emacspeak discussion list
List archive
- From: Devin Prater <r.d.t.prater AT gmail.com>
- To: Jon Pielaet <jon AT pielaet.net>
- Cc: Greg Wocher <gtwocher AT gmail.com>, emacspeak AT emacspeak.net
- Subject: Re: [Emacspeak] Trying to install emacspeak on fedora 44
- Date: Thu, 22 Oct 2026 08:32:32 -0500
- Arc-authentication-results: i=1; mx.google.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=qiHcVNr9aE9MBoasWrmpjl42PUlkSJ7UN+NhcyWOi1U=; fh=hEKUI2TCZCjO2d0kTaT9eVOCdYF5sCF3O+ArwHg2nlU=; b=OdcNfq7+iPknFOMNd8YrNT2Vm0hUqnr+Etkc42ot4oSiwtqRalVohBexRau1T7eNsC WhMVkfm1nOmX6qSaKjoG5Dy+4/h/BI0eFziIqNvEojPMHtgOKiQdhWqpcmyt9no0i9sx NmWkE8xa3iqEBd5IokzV3GWUyf6SHQuEcBrYHtsgzLDGex3qkrQMeGd6rk0qTOFrAaIG KiVw8D988enewB4vMl3qBuB3cV82HJDaxwTyV9WnPs0k4OrmTtYHG82u7TQbHaQsgqfW N8KgxPsbOhyomUhaT3K0GVA16mZOCD8Jk4VuQtqz94/RKwplpypdJ2toJh03x/tOx0ox wrWA==; darn=emacspeak.net
- Arc-seal: i=1; a=rsa-sha256; t=1792675964; cv=none; d=google.com; s=arc-20260327; b=h5xZI/564fvxk8I3r6aPfd/43jhfQGv/8PlX33PFaBjwJvfmQG9Rky2wNxEOnAWtcD n//5R/BsOAsgC3cNptQsIU7XIeZ0mjY/xDEhmwQ5h7VSl/fGDsvTMuRsKvTSKEvx2b4v cQv6M4HA7/Zk72VqlolThC7egSxraGaQetnYkn0/GWgGEq8EmOhTRf0J69C8VZxv9W2X 4yj92/mD/Zogk/mxXhXc6AFaUGQIHVPPvqimginZIk7LNBpOrXoq0Ubmc/9Kqnch0MzT gKuLW/3kiIaj+sUxphz0J1ztPle0lTrVop/Lfv1QGlEVNbuSgaql+96mFosw7GNNeNV9 No6g==
Oh, Fedora 44 doesn't have TCLX from what I recall. I just had AI fix up the speech servers by polyfilling what the servers needed in pure TCL.
On Wed, Oct 21, 2026 at 9:02 PM Jon Pielaet <emacspeak AT emacspeak.net> wrote:
Hi Greg,I suspect that Fedora's default tcl package is Tcl 9, and emacspeak's speech servers and their espeak glue only work with Tcl 8.6.Fedora still ships Tcl 8.6 as tcl8, with tcl8-devel and a TclX built for it.Here is an example script of how I would install them and emacspeak on Fedora 44:I hope this helps.Best,JonEmacspeak discussion list -- emacspeak AT emacspeak.netOn Wed, Oct 21, 2026 at 5:21 AM Greg Wocher <emacspeak AT emacspeak.net> wrote:Hello all,
I am trying to install emacspeak on fedora 44. I am using the mate spin of fedora. When I try and make espeak I get a very long error and it wont make. Here is the error I get:
g++ -g -O2 -fPIC -DPIC -pedantic -ansi -Wall -Wno-long-long --std=c++11 -I/usr/include/tcl8.6 -c -o tclespeak.o tclespeak.cpp
tclespeak.cpp: In function ‘int Tclespeak_Init(Tcl_Interp*)’:
tclespeak.cpp:105:43: error: invalid conversion from ‘int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**)’ {aka ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)’} to ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*)’ [-fpermissive]
105 | Tcl_CreateObjCommand(interp, "setRate", SetRate, (ClientData)handle,
| ^
| |
| int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**) {aka int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)}
In file included from /usr/include/tcl.h:2438,
from tclespeak.cpp:47:
/usr/include/tclDecls.h:299:70: note: initializing argument 3 of ‘Tcl_Command_* Tcl_CreateObjCommand(Tcl_Interp*, const char*, int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*), void*, void (*)(void*))’
299 | const char *cmdName, Tcl_ObjCmdProc *proc,
| ^
tclespeak.cpp:107:43: error: invalid conversion from ‘int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**)’ {aka ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)’} to ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*)’ [-fpermissive]
107 | Tcl_CreateObjCommand(interp, "getRate", GetRate, (ClientData)handle,
| ^
| |
| int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**) {aka int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)}
/usr/include/tclDecls.h:299:70: note: initializing argument 3 of ‘Tcl_Command_* Tcl_CreateObjCommand(Tcl_Interp*, const char*, int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*), void*, void (*)(void*))’
299 | const char *cmdName, Tcl_ObjCmdProc *proc,
| ^
tclespeak.cpp:109:46: error: invalid conversion from ‘int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**)’ {aka ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)’} to ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*)’ [-fpermissive]
109 | Tcl_CreateObjCommand(interp, "ttsVersion", getTTSVersion, (ClientData)handle,
| ^
| |
| int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**) {aka int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)}
/usr/include/tclDecls.h:299:70: note: initializing argument 3 of ‘Tcl_Command_* Tcl_CreateObjCommand(Tcl_Interp*, const char*, int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*), void*, void (*)(void*))’
299 | const char *cmdName, Tcl_ObjCmdProc *proc,
| ^
tclespeak.cpp:111:47: error: invalid conversion from ‘int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**)’ {aka ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)’} to ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*)’ [-fpermissive]
111 | Tcl_CreateObjCommand(interp, "ttsDataPath", getTTSDataPath,
| ^
| |
| int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**) {aka int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)}
/usr/include/tclDecls.h:299:70: note: initializing argument 3 of ‘Tcl_Command_* Tcl_CreateObjCommand(Tcl_Interp*, const char*, int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*), void*, void (*)(void*))’
299 | const char *cmdName, Tcl_ObjCmdProc *proc,
| ^
tclespeak.cpp:113:41: error: invalid conversion from ‘int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**)’ {aka ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)’} to ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*)’ [-fpermissive]
113 | Tcl_CreateObjCommand(interp, "punct", Punct, (ClientData)handle, NULL);
| ^
| |
| int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**) {aka int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)}
/usr/include/tclDecls.h:299:70: note: initializing argument 3 of ‘Tcl_Command_* Tcl_CreateObjCommand(Tcl_Interp*, const char*, int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*), void*, void (*)(void*))’
299 | const char *cmdName, Tcl_ObjCmdProc *proc,
| ^
tclespeak.cpp:114:39: error: invalid conversion from ‘int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**)’ {aka ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)’} to ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*)’ [-fpermissive]
114 | Tcl_CreateObjCommand(interp, "say", Say, (ClientData)handle, TclEspeakFree);
| ^
| |
| int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**) {aka int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)}
/usr/include/tclDecls.h:299:70: note: initializing argument 3 of ‘Tcl_Command_* Tcl_CreateObjCommand(Tcl_Interp*, const char*, int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*), void*, void (*)(void*))’
299 | const char *cmdName, Tcl_ObjCmdProc *proc,
| ^
tclespeak.cpp:115:41: error: invalid conversion from ‘int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**)’ {aka ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)’} to ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*)’ [-fpermissive]
115 | Tcl_CreateObjCommand(interp, "synth", Say, (ClientData)handle, NULL);
| ^
| |
| int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**) {aka int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)}
/usr/include/tclDecls.h:299:70: note: initializing argument 3 of ‘Tcl_Command_* Tcl_CreateObjCommand(Tcl_Interp*, const char*, int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*), void*, void (*)(void*))’
299 | const char *cmdName, Tcl_ObjCmdProc *proc,
| ^
tclespeak.cpp:116:47: error: invalid conversion from ‘int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**)’ {aka ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)’} to ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*)’ [-fpermissive]
116 | Tcl_CreateObjCommand(interp, "synchronize", Synchronize, (ClientData)handle,
| ^
| |
| int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**) {aka int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)}
/usr/include/tclDecls.h:299:70: note: initializing argument 3 of ‘Tcl_Command_* Tcl_CreateObjCommand(Tcl_Interp*, const char*, int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*), void*, void (*)(void*))’
299 | const char *cmdName, Tcl_ObjCmdProc *proc,
| ^
tclespeak.cpp:118:40: error: invalid conversion from ‘int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**)’ {aka ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)’} to ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*)’ [-fpermissive]
118 | Tcl_CreateObjCommand(interp, "stop", Stop, (ClientData)handle, TclEspeakFree);
| ^
| |
| int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**) {aka int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)}
/usr/include/tclDecls.h:299:70: note: initializing argument 3 of ‘Tcl_Command_* Tcl_CreateObjCommand(Tcl_Interp*, const char*, int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*), void*, void (*)(void*))’
299 | const char *cmdName, Tcl_ObjCmdProc *proc,
| ^
tclespeak.cpp:119:45: error: invalid conversion from ‘int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**)’ {aka ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)’} to ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*)’ [-fpermissive]
119 | Tcl_CreateObjCommand(interp, "speakingP", SpeakingP, (ClientData)handle,
| ^
| |
| int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**) {aka int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)}
/usr/include/tclDecls.h:299:70: note: initializing argument 3 of ‘Tcl_Command_* Tcl_CreateObjCommand(Tcl_Interp*, const char*, int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*), void*, void (*)(void*))’
299 | const char *cmdName, Tcl_ObjCmdProc *proc,
| ^
tclespeak.cpp:121:41: error: invalid conversion from ‘int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**)’ {aka ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)’} to ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*)’ [-fpermissive]
121 | Tcl_CreateObjCommand(interp, "pause", Pause, (ClientData)handle,
| ^
| |
| int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**) {aka int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)}
/usr/include/tclDecls.h:299:70: note: initializing argument 3 of ‘Tcl_Command_* Tcl_CreateObjCommand(Tcl_Interp*, const char*, int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*), void*, void (*)(void*))’
299 | const char *cmdName, Tcl_ObjCmdProc *proc,
| ^
tclespeak.cpp:123:42: error: invalid conversion from ‘int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**)’ {aka ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)’} to ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*)’ [-fpermissive]
123 | Tcl_CreateObjCommand(interp, "resume", Resume, (ClientData)handle,
| ^
| |
| int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**) {aka int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)}
/usr/include/tclDecls.h:299:70: note: initializing argument 3 of ‘Tcl_Command_* Tcl_CreateObjCommand(Tcl_Interp*, const char*, int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*), void*, void (*)(void*))’
299 | const char *cmdName, Tcl_ObjCmdProc *proc,
| ^
tclespeak.cpp:125:47: error: invalid conversion from ‘int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**)’ {aka ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)’} to ‘int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*)’ [-fpermissive]
125 | Tcl_CreateObjCommand(interp, "setLanguage", SetLanguage, (ClientData)handle,
| ^
| |
| int (*)(ClientData, Tcl_Interp*, int, Tcl_Obj**) {aka int (*)(void*, Tcl_Interp*, int, Tcl_Obj**)}
/usr/include/tclDecls.h:299:70: note: initializing argument 3 of ‘Tcl_Command_* Tcl_CreateObjCommand(Tcl_Interp*, const char*, int (*)(void*, Tcl_Interp*, int, Tcl_Obj* const*), void*, void (*)(void*))’
299 | const char *cmdName, Tcl_ObjCmdProc *proc,
| ^
tclespeak.cpp: At global scope:
tclespeak.cpp:133:28: error: expected ‘,’ or ‘...’ before ‘objv’
133 | Tcl_Obj *CONST objv[]) {
| ^
tclespeak.cpp: In function ‘int GetRate(ClientData, Tcl_Interp*, int, Tcl_Obj*)’:
tclespeak.cpp:139:34: error: ‘objv’ was not declared in this scope; did you mean ‘objc’?
139 | rc = Tcl_GetIntFromObj(interp, objv[1], &voice);
| ^
| objc
tclespeak.cpp: At global scope:
tclespeak.cpp:150:28: error: expected ‘,’ or ‘...’ before ‘objv’
150 | Tcl_Obj *CONST objv[]) {
| ^
tclespeak.cpp: In function ‘int SetRate(ClientData, Tcl_Interp*, int, Tcl_Obj*)’:
tclespeak.cpp:159:34: error: ‘objv’ was not declared in this scope; did you mean ‘objc’?
159 | rc = Tcl_GetIntFromObj(interp, objv[1], &voice);
| ^
| objc
tclespeak.cpp: At global scope:
tclespeak.cpp:241:24: error: expected ‘,’ or ‘...’ before ‘objv’
241 | Tcl_Obj *CONST objv[]) {
| ^
tclespeak.cpp: In function ‘int Say(ClientData, Tcl_Interp*, int, Tcl_Obj*)’:
tclespeak.cpp:244:49: error: ‘objv’ was not declared in this scope; did you mean ‘objc’?
244 | char *a_text = (char *)Tcl_GetStringFromObj(objv[i], NULL);
| ^
| objc
tclespeak.cpp: At global scope:
tclespeak.cpp:269:32: error: expected ‘,’ or ‘...’ before ‘objv’
269 | Tcl_Obj *CONST objv[]) {
| ^
tclespeak.cpp:276:25: error: expected ‘,’ or ‘...’ before ‘objv’
276 | Tcl_Obj *CONST objv[]) {
| ^
tclespeak.cpp:284:30: error: expected ‘,’ or ‘...’ before ‘objv’
284 | Tcl_Obj *CONST objv[]) {
| ^
tclespeak.cpp:294:26: error: expected ‘,’ or ‘...’ before ‘objv’
294 | Tcl_Obj *CONST objv[]) {
| ^
tclespeak.cpp:300:27: error: expected ‘,’ or ‘...’ before ‘objv’
300 | Tcl_Obj *CONST objv[]) {
| ^
tclespeak.cpp:309:30: error: expected ‘,’ or ‘...’ before ‘objv’
309 | Tcl_Obj *CONST objv[]) {
| ^
tclespeak.cpp:317:26: error: expected ‘,’ or ‘...’ before ‘objv’
317 | Tcl_Obj *CONST objv[]) {
| ^
tclespeak.cpp: In function ‘int Punct(ClientData, Tcl_Interp*, int, Tcl_Obj*)’:
tclespeak.cpp:318:47: error: ‘objv’ was not declared in this scope; did you mean ‘objc’?
318 | char *a_mode = (char *)Tcl_GetStringFromObj(objv[1], NULL);
| ^
| objc
tclespeak.cpp: At global scope:
tclespeak.cpp:343:34: error: expected ‘,’ or ‘...’ before ‘objv’
343 | Tcl_Obj *CONST objv[]) {
| ^
tclespeak.cpp:359:35: error: expected ‘,’ or ‘...’ before ‘objv’
359 | Tcl_Obj *CONST objv[]) {
| ^
tclespeak.cpp: In function ‘int getTTSDataPath(ClientData, Tcl_Interp*, int, Tcl_Obj*)’:
tclespeak.cpp:370:29: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive]
370 | char *pathCopy = Tcl_Alloc(pathLen);
| ^
| |
| void*
tclespeak.cpp: At global scope:
tclespeak.cpp:404:32: error: expected ‘,’ or ‘...’ before ‘objv’
404 | Tcl_Obj *CONST objv[]) {
| ^
tclespeak.cpp: In function ‘int SetLanguage(ClientData, Tcl_Interp*, int, Tcl_Obj*)’:
tclespeak.cpp:407:43: error: ‘objv’ was not declared in this scope; did you mean ‘objc’?
407 | const char *voiceName = Tcl_GetString(objv[2]);
| ^
make: *** [<builtin>: tclespeak.o] Error 1
greg@fedora: /emacspeak/servers/native-espeak$
I am not sure what to do here. Anyone have any suggestions?
Thanks,
Greg Wocher
Emacspeak discussion list -- emacspeak AT emacspeak.net
To unsubscribe send email to:
emacspeak-request AT emacspeak.net with a subject of: unsubscribe
To unsubscribe send email to:
emacspeak-request AT emacspeak.net with a subject of: unsubscribe
- [Emacspeak] Trying to install emacspeak on fedora 44, Greg Wocher, 10/21/2026
- Re: [Emacspeak] Trying to install emacspeak on fedora 44, Jon Pielaet, 10/22/2026
- Re: [Emacspeak] Trying to install emacspeak on fedora 44, Devin Prater, 10/22/2026
- Re: [Emacspeak] Trying to install emacspeak on fedora 44, Tim Cross, 10/23/2026
- Re: [Emacspeak] Trying to install emacspeak on fedora 44, Devin Prater, 10/23/2026
- Re: [Emacspeak] Trying to install emacspeak on fedora 44, Tim Cross, 10/23/2026
- Re: [Emacspeak] Trying to install emacspeak on fedora 44, Devin Prater, 10/22/2026
- Re: [Emacspeak] Trying to install emacspeak on fedora 44, Jon Pielaet, 10/22/2026
Archive powered by MHonArc 2.6.19+.