Make Error
I followed the instructions and it went good until i ran "make". This doesn't create the apk in the designated folder or anywhere for that matter.
Main Error: src/event.cpp:412:16: error: use of undeclared identifier 'sem_timedwait'
Full Log: src/debug.h:44:21: warning: variadic macros are a C99 feature [-Wvariadic-macros]
define SHOW(format,...)
^
src/debug.h:45:21: warning: variadic macros are a C99 feature [-Wvariadic-macros]
define LOGI(format,...)
^
src/debug.h:46:21: warning: variadic macros are a C99 feature [-Wvariadic-macros]
define LOGE(format,...)
^
src/event.cpp:95:16: warning: 'sem_init' is deprecated [-Wdeprecated-declarations] assert(-1 != sem_init(&my_sem_start_is_required, 0, 0)); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (builtin_expect(!(e), 0) ? __assert_rtn(__func, FILE, LINE, #e) : (void)0) ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/semaphore.h:55:5: note: 'sem_init' has been explicitly marked deprecated here int sem_init(sem_t , int, unsigned int) deprecated; ^ src/event.cpp:96:16: warning: 'sem_init' is deprecated [-Wdeprecated-declarations] assert(-1 != sem_init(&my_sem_stop_is_required, 0, 0)); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func, FILE, LINE, #e) : (void)0) ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/semaphore.h:55:5: note: 'sem_init' has been explicitly marked deprecated here int sem_init(sem_t *, int, unsigned int) deprecated; ^ src/event.cpp:97:16: warning: 'sem_init' is deprecated [-Wdeprecated-declarations] assert(-1 != sem_init(&my_sem_stop_is_acknowledged, 0, 0)); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func, FILE, LINE, #e) : (void)0) ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/semaphore.h:55:5: note: 'sem_init' has been explicitly marked deprecated here int sem_init(sem_t *, int, unsigned int) __deprecated; ^ src/event.cpp:412:16: error: use of undeclared identifier 'sem_timedwait' while ((err = sem_timedwait(&my_sem_stop_is_required, &ts)) == -1 ^ src/event.cpp:508:14: warning: 'sem_getvalue' is deprecated [-Wdeprecated-declarations] a_status = sem_getvalue(&my_sem_stop_is_required, &a_stop_is_required); // NOTE: may set a_stop_is_required to -1 ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/semaphore.h:54:5: note: 'sem_getvalue' has been explicitly marked deprecated here int sem_getvalue(sem_t * __restrict, int * __restrict) __deprecated; ^ src/event.cpp:569:16: warning: 'sem_getvalue' is deprecated [-Wdeprecated-declarations] a_status = sem_getvalue(&my_sem_stop_is_required, &a_stop_is_required); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/semaphore.h:54:5: note: 'sem_getvalue' has been explicitly marked deprecated here int sem_getvalue(sem_t * __restrict, int * __restrict) __deprecated; ^ src/event.cpp:597:15: warning: 'sem_getvalue' is deprecated [-Wdeprecated-declarations] a_status = sem_getvalue(&my_sem_stop_is_required, &a_stop_is_required); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/semaphore.h:54:5: note: 'sem_getvalue' has been explicitly marked deprecated here int sem_getvalue(sem_t * __restrict, int * __restrict) __deprecated; ^ src/event.cpp:725:3: warning: 'sem_destroy' is deprecated [-Wdeprecated-declarations] sem_destroy(&my_sem_start_is_required); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/semaphore.h:53:5: note: 'sem_destroy' has been explicitly marked deprecated here int sem_destroy(sem_t *) __deprecated; ^ src/event.cpp:726:3: warning: 'sem_destroy' is deprecated [-Wdeprecated-declarations] sem_destroy(&my_sem_stop_is_required); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/semaphore.h:53:5: note: 'sem_destroy' has been explicitly marked deprecated here int sem_destroy(sem_t *) __deprecated; ^ src/event.cpp:727:3: warning: 'sem_destroy' is deprecated [-Wdeprecated-declarations] sem_destroy(&my_sem_stop_is_acknowledged); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/semaphore.h:53:5: note: 'sem_destroy' has been explicitly marked deprecated here int sem_destroy(sem_t *) __deprecated; ^ 12 warnings and 1 error generated. make[1]: ** [src/src_libespeak_la-event.lo] Error 1 make: *** [all] Error 2
NOTE: As you are not intending on using the event logic, you can run:
./configure --without-async
The espeak program does not currently support Mac OSX. The build error is because Mac OSX does not support sem_timedwait. There are various options:
- add a configure check for
sem_timedwaitand either use different code for those platforms, or include a compatible implementation ofsem_timedwait; - rework the code to use
pthread_cond_timedwait.
Given that Apple have started deprecating sem_destroy and friends, it may make more sense to rework that code in espeak, or just disable the event code by default when sem_timedwait is not available.