[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#8612) lmdb build fails on illumos / solaris
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.