[PD] Espeak external compilation/loading errors on Linux

Peter P. peterparker at fastmail.com
Sat Mar 13 10:06:09 CET 2021


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





More information about the Pd-list mailing list