Hello, I am running Docker on OS X Monterey, and starting up a vanilla alpine:latest Linux image. I only installed build-base and lmdb-dev and ran /bin/sh as root.
LMDB version (Alpine): lmdb-dev-0.9.33-r0
Inside the container, I wrote this test code:
/* test_open.c */ #include <stdio.h> #include "lmdb.h"
#define DEFAULT_MAPSIZE 1UL<<40
int main() { int rc; MDB_env *env;
rc = mdb_env_create(&env); printf ("env create: %d\n", rc);
rc = mdb_env_set_maxdbs (env, 10); printf ("env set maxdbs: %d\n", rc); rc = mdb_env_set_mapsize (env, DEFAULT_MAPSIZE); printf ("env set mapsize: %d\n", rc);
rc = mdb_env_open (env, "/tmp", 0, 0640); printf ("env open: %d\n", rc);
mdb_env_close (env); return rc; }
I compiled with `gcc test_open.c -llmdb -o test_open` and ran as root, and got this output:
env create: 0 env set maxdbs: 0 env set mapsize: 0 env open: 38
The lock file was created, not the data file.
This only occurs in the guest setup. On the OS X host and on a native Linux host it exits with 0.
Any hints?