https://bugs.openldap.org/show_bug.cgi?id=10419
Issue ID: 10419
Summary: NetBSD does not define union semun nor set
_SEM_SEMUN_UNDEFINED
Product: LMDB
Version: unspecified
Hardware: All
OS: Other
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: liblmdb
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
NetBSD does not define union semun nor set _SEM_SEMUN_UNDEFINED. This means
that the union defined when _SEM_SEMUN_UNDEFINED is set is skipped leading to a
compilation error.
Adding this to `mdb.c` will fix this issue by setting this variable in NetBSD
when it is undefined (and it usually is, I can't speak for the future).
```
diff --git a/mdb.c b/mdb.c
index 3e3f529b98..64e5ffd254 100644
--- a/vendor/ocaml-lmdb/mdb.c
+++ b/vendor/ocaml-lmdb/mdb.c
@@ -176,6 +176,11 @@
# define MDB_FDATASYNC fsync
#endif
+/* NetBSD does not define union semun in sys/sem.h */
+#if defined(__NetBSD__) && !defined(_SEM_SEMUN_UNDEFINED)
+# define _SEM_SEMUN_UNDEFINED 1
+#endif
+
#ifndef _WIN32
#include <pthread.h>
#include <signal.h>
```
FreeBSD and OpenBSD don't suffer from this issue as they both correctly set
that variable.
--
You are receiving this mail because:
You are on the CC list for the issue.