[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) (47.208.148.239)


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);
+                               }
+#endif


results in:

gcc -m32 -static-libgcc -lrt -fPIC -pthread -O2 -g -W -Wall
-Wno-unused-parameter -Wbad-function-cast -g -O2
-I/export/home/build/sold-2.4.45.1/SunOS5.11-i86pc/install/i86pc_32/opt/symas/include
 -c /export/home/build/sold-2.4.45.1/openldap/libraries/liblmdb/mdb.c 
/export/home/build/sold-2.4.45.1/openldap/libraries/liblmdb/mdb.c: In function
?mdb_env_copythr?: 
/export/home/build/sold-2.4.45.1/openldap/libraries/liblmdb/mdb.c:9062:6: error:
too many arguments to function ?sigwait? 
      sigwait(&set, &tmp); 
      ^ 
In file included from
/export/home/build/sold-2.4.45.1/openldap/libraries/liblmdb/mdb.c:132:0: 
/usr/include/signal.h:233:12: note: declared here 
 extern int sigwait(sigset_t *); 
            ^ 
make[1]: *** [mdb.o] Error 1 
make[1]: Leaving directory
`/export/home/build/sold-2.4.45.1/SunOS5.11-i86pc/build/liblmdb.i86pc_32' 
make: *** [inter-build-liblmdb.i86pc_32] Error 2