Issue 8670 - ITS#8504 fix breaks Solaris builds
Summary: ITS#8504 fix breaks Solaris builds
Status: VERIFIED DUPLICATE of issue 8612
Alias: None
Product: LMDB
Classification: Unclassified
Component: liblmdb (show other issues)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: ---
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-06 19:59 UTC by Quanah Gibson-Mount
Modified: 2020-03-23 15:04 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Quanah Gibson-Mount 2017-06-06 19:59:32 UTC
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
Comment 1 Quanah Gibson-Mount 2020-03-23 15:03:58 UTC

*** This issue has been marked as a duplicate of issue 8612 ***