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