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.

Reply via email to