Full_Name: Ludovic Orban Version: OS: OmniOS r151020 URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (2a02:a03f:1cdc:c300:384b:af79:f57c:b134)
Building lmdb on illumos fails with the following error:
mdb.c: In function 'mdb_env_copythr': mdb.c:9036:6: error: too many arguments to function 'sigwait' sigwait(&set, &tmp); ^ In file included from mdb.c:132:0: /usr/include/signal.h:165:12: note: declared here extern int sigwait(sigset_t *); ^
This happens because to use sigwait on illumos, you have to add the -D_POSIX_PTHREAD_SEMANTICS switch to the compiler. Changing the Makefile THREADS line to add the switch solves the problem:
THREADS = -pthread -D_POSIX_PTHREAD_SEMANTICS
FYI, I haven't tested on sun/oracle solaris but I guess it suffers from the exact same problem.