Which is what I did, described below in my last email, no?
sorry, I accientally skipped the last part of your message...

Loading the external in Pd then throws:
./espeak.pd_linux: ./espeak.pd_linux: undefined symbol: espeak_SetParameter
espeak: can't load library
So the actual problem is that Pd can't find the 'espeak' library at runtime. You obviously have it installed, at least gcc can find the header files during compilation.

Where does "libespeak.so" live?

Christof

On 13.03.2021 20:47, Peter P. wrote:
* Christof Ressi <[email protected]> [2021-03-13 15:54]:
Hi,

"cast-function-type" has been introduced in GCC 8 and it affects lots of
existing Pd code. Usually, it is just a warning and can be ignored, but the
makefile for espeak sets "-Werror", which means that every warning is
treated as an error. The quickest fix is to either remove "-Werror" or add
"-Wno-cast-function-type".
Which is what I did, described below in my last email, no?

Thanks , P
Christof

On 13.03.2021 10:06, Peter P. wrote:
Hi list,

trying to compile and load the espeak external from
https://github.com/kronihias/espeak
on Debian/GNU Linux. Have the apt packages
        espeak libespeak-dev
installed and the makefile modifiet to point to
        PDROOT=/usr/include/pd

Running 'make' yields an error:
cc -export-dynamic -shared  -lc -lm -lespeak -DPD -O2 -funroll-loops
-fomit-frame-pointer -fPIC -Wall -W -Wshadow -Wstrict-prototypes -Werror
-Wno-unused -Wno-parentheses -Wno-switch -I/usr/include/pd/src -o
espeak.pd_linux espeak.c
espeak.c: In function ‘espeak_setup’:
espeak.c:406:6: error: cast between incompatible function types from
‘void * (*)(t_symbol *)’ {aka ‘void * (*)(struct _symbol *)’} to ‘void *
(*)(void)’ [-Werror=cast-function-type]
    406 |      (t_newmethod)espeak_new,  // newmethod
        |      ^
cc1: all warnings being treated as errors
make[1]: *** [Makefile:79: espeak.pd_linux] Error 1
make[1]: Leaving directory '/tmp/espeak-master'
make: *** [Makefile:46: auto] Error 2

which I can circumnavigate disabling the -Werror flag in the makefile.
Compilation somewhat succeeds then, posting:
espeak.c: In function ‘espeak_setup’:
espeak.c:406:6: warning: cast between incompatible function types from
‘void * (*)(t_symbol *)’ {aka ‘void * (*)(struct _symbol *)’} to ‘void *
(*)(void)’ [-Wcast-function-type]
    406 |      (t_newmethod)espeak_new,  // newmethod
        |      ^

Loading the external in Pd then throws:
./espeak.pd_linux: ./espeak.pd_linux: undefined symbol: espeak_SetParameter
espeak: can't load library

Can anyone point me into a good direction what to try next here?
Anyone having had success on OS X with this external so far?

appreciated,
as always,
yours,
P



_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list



_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list



_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to