I have come into at least 2
times that one project was built well on Linux
, while can’t find pthread
related definitions on OpenBSD
, like this:
......
../../runtime/cilk-internal.h:39:6: error: unknown type name 'pthread_mutex_t'
pthread_mutex_t posix;
^
../../runtime/cilk-internal.h:211:6: error: unknown type name 'pthread_t'
pthread_t *tid;
^
../../runtime/cilk-internal.h:216:6: error: unknown type name 'pthread_cond_t'
pthread_cond_t waiting_workers_cond;
^
../../runtime/cilk-internal.h:217:6: error: unknown type name 'pthread_cond_t'
pthread_cond_t wakeup_first_worker_cond;
^
../../runtime/cilk-internal.h:218:6: error: unknown type name 'pthread_cond_t'
pthread_cond_t wakeup_other_workers_cond;
^
../../runtime/cilk-internal.h:219:6: error: unknown type name 'pthread_mutex_t'
pthread_mutex_t workers_mutex;
^
../../runtime/cilk-internal.h:220:6: error: unknown type name 'pthread_cond_t'
pthread_cond_t workers_done_cond;
......
The source code is as following:
......
#if HAVE_PTHREAD
#include <pthread.h>
#endif
......
While the generated config.h
doesn’t define HAVE_PTHREAD
macro:
/* Define if you have POSIX threads libraries and header files. */
/* #undef HAVE_PTHREAD */
But in fact, the OpenBSD
has provided all support of pthread
. So please be aware of this issue.