[Date Prev][Date Next] [Chronological] [Thread] [Top]

ITS#8504 fix breaks Solaris builds

Full_Name: Quanah Gibson-Mount
Version: 2.4.45
OS: Solaris 11
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (

Building the liblmdb bundled with OpenLDAP 2.4.45 on Solaris 11 fails due to the
fix for ITS#8504:

quanah@ub16:~/git/openldap/openldap-2-4/libraries/liblmdb$ git show 894e88bf
commit 894e88bf895529b2f4682f74c7a8c69a0c61cc00
Author: Lorenz Bauer <lmb@cloudflare.com>
Date:   Thu Oct 20 09:51:22 2016 +0200

    ITS#8504 mdb_env_copyfd2(): Don't abort on SIGPIPE

    Return EPIPE instead.

This block in particular:

+#ifndef _WIN32
+                               if (rc == EPIPE) {
+                                       int tmp;
+                                       sigwait(&set, &tmp);
+                               }

results in:

gcc -m32 -static-libgcc -lrt -fPIC -pthread -O2 -g -W -Wall
-Wno-unused-parameter -Wbad-function-cast -g -O2
 -c /export/home/build/sold- 
/export/home/build/sold- In function
/export/home/build/sold- error:
too many arguments to function ?sigwait? 
      sigwait(&set, &tmp); 
In file included from
/usr/include/signal.h:233:12: note: declared here 
 extern int sigwait(sigset_t *); 
make[1]: *** [mdb.o] Error 1 
make[1]: Leaving directory
make: *** [inter-build-liblmdb.i86pc_32] Error 2