https://bugs.openldap.org/show_bug.cgi?id=10007
Howard Chu hyc@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID
--- Comment #2 from Howard Chu hyc@openldap.org --- (In reply to facboy from comment #0)
lmdb can be compiled if the correct flags are set on MSYS2/Cygwin, but it does not actually work. `make test` will result in errors.
If `make CPPFLAGS="-DMDB_USE_ROBUST=0"` is used, `mtest` fails with:
mtest.c:50: mdb_env_open(env, "./testdb", MDB_FIXEDMAP , 0664): Invalid argument Aborted (core dumped)
Obviously: don't do that.
If `make CPPFLAGS="-DMDB_USE_POSIX_SEM=1"` is used, `mtest` fails with:
mtest.c:50: mdb_env_open(env, "./testdb", MDB_FIXEDMAP , 0664): No such file or directory Aborted (core dumped)
Obviously: don't do that. Windows is not a POSIX OS, using any POSIX-specific feature is obviously a mistake. Cygwin tries to add a POSIX-compatibility layer onto Windows - it is not useful here. LMDB on Windows works using native WIN32 APIs. Glue layers like Cygwin or MSYS2 shims do more harm than good here.