Re: postfix-3.11.4,1 does not work with lmdb-1.0.0,1, requires 0.93.5,1
Michael Grimm <[email protected]> Sun, 5 Jul 2026 09:08:49 +0200
| Newsgroups | gmane.os.freebsd.devel.ports |
|---|---|
| Message-ID | <[email protected]> |
Jordan M <[email protected]> wrote: > On 2026-07-04 11:37, Michael Grimm wrote: >> Jordan M <[email protected]> wrote: >>> If the files used by the port are the same format that mdb_dump >>> can read. AFAICT that's not the case for postfix. I couldn't get mdb_dump to recognize the postmap-generated file as a valid >>> database. >> IMHO you don't need mdb_dump/mdb_load w.r.t. to postfix' lmdb >> databases. >> It should be sufficient to re-run 'postmap lmdb:YOUR_PLAIN_TABLE_OR_WHATSOEVER' on all relevant plain text files you need to convert to lmdb databases. (To be on the save side >> I would delete that YOUR_PLAIN_TABLE_OR_WHATSOEVER.lmdb beforehand.) > > Normally it would be, however: > > On 2026-07-03 16:47, Jordan M wrote: > > # pkg info -d postfix | grep lmdb > > lmdb-1.0.0,1 > > lmdb-1.0.0,1 (liblmdb.so.1) > > # postmap lmdb:/tmp/testdb > > postmap: fatal: error updating lmdb:/tmp/testdb: MDB_BAD_TXN: > > Transaction must abort, has a child, or is invalid > > # > > That error occurred whether or not /tmp/testdb.lmdb already existed. I used a test jail and can reproduce this issue: test> ldd /usr/local/lib/postfix/* | grep lmdb /usr/local/lib/postfix/postfix-lmdb.so: liblmdb.so.1 => /usr/local/lib/liblmdb.so.1 (0x90234ff3000) test> la /usr/local/lib/liblmdb* -rw-r--r-- 1 root wheel uarch 137992 Jul 5 08:51 /usr/local/lib/liblmdb.a lrwxr-xr-x 1 root wheel uarch 14 Jul 5 08:51 /usr/local/lib/liblmdb.so -> liblmdb.so.1.0 lrwxr-xr-x 1 root wheel uarch 14 Jul 5 08:51 /usr/local/lib/liblmdb.so.1 -> liblmdb.so.1.0 -rw-r--r-- 1 root wheel uarch 114040 Jul 5 08:51 /usr/local/lib/liblmdb.so.1.0 test> postmap lmdb:TEST postmap: fatal: error updating lmdb:TEST: MDB_BAD_TXN: Transaction must abort, has a child, or is invalid Well, I will stick with lmdb 0.9.35. Regards, Michael