[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.