espeak icon indicating copy to clipboard operation
espeak copied to clipboard

Make Error

Open rotexhawk opened this issue 10 years ago • 1 comments

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

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/26719231-make-error?utm_campaign=plugin&utm_content=tracker%2F254964&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F254964&utm_medium=issues&utm_source=github).

rotexhawk avatar Sep 16 '15 04:09 rotexhawk

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:

  1. add a configure check for sem_timedwait and either use different code for those platforms, or include a compatible implementation of sem_timedwait;
  2. 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.

rhdunn avatar Nov 28 '15 12:11 rhdunn