New BIND releases ... 9.16.4: build, 'fatal error: lmdb.h: No such file or directory'
PGNet Dev
pgnet.dev at gmail.com
Thu Jun 18 17:25:29 UTC 2020
On 6/18/20 6:34 AM, Matt Pallissard wrote:
> I'd imagine you want CPPFLAGS here. or you can export C_INCLUDE_PATH
...
> Edit:
`s/CPPFLAGS/CFLAGS`
specifically adding '-I/usr/local/lmdb/include' to $CFLAGS makes the build unhappy, here.
but, yep! ... there _is_ hoop-jumping that appears to workaround the WONTFIX silliness^^ ...
with lmdb installed as
tree /usr/local/lmdb
/usr/local/lmdb
├── bin
│ ├── mdb_copy
│ ├── mdb_drop
│ ├── mdb_dump
│ ├── mdb_load
│ └── mdb_stat
├── include
│ └── lmdb.h
├── lib
├── lib64
│ ├── liblmdb.a
│ └── liblmdb.so
├── man
└── share
└── man
└── man1
├── mdb_copy.1
├── mdb_drop.1
├── mdb_dump.1
├── mdb_load.1
└── mdb_stat.1
setting @ bind configure
--with-lmdb=/usr/local/lmdb
to avoid
checking for lmdb library... configure: error: include/lmdb.h not found.
and to ensure the feature is (at least) _reported_ as enabled
...
===============================================================================
Configuration summary:
-------------------------------------------------------------------------------
Optional features enabled:
...
LMDB database to store configuration for 'addzone' zones (--with-lmdb)
...
-------------------------------------------------------------------------------
Features disabled or unavailable on this platform:
...
then just this
CPPFLAGS= ... -I/usr/local/lmdb/include ...
LDFLAGS=... -L/usr/local/lmdb/lib64 -llmdb ...
is sufficient add'n to general flags
still to make add'l adjustments.
namely, to just completely circumvent the src code mess that results in,
LMDB_CFLAGS = -I/usr/local/lmdb/include
LMDB_LIBS = -L/usr/local/lmdb/lib none required
and build breakage, applying to clean source,
patch << 'EOF'
--- configure.ac.ORIG 2020-06-10 14:01:43.000000000 -0700
+++ configure.ac 2020-06-18 09:45:42.142523855 -0700
@@ -1274,6 +1274,8 @@
else
AC_MSG_RESULT(no)
fi
+LMDB_CFLAGS="-I/usr/local/lmdb/include"
+LMDB_LIBS="-L/usr/local/lmdb/lib64 -llmdb"
AC_SUBST([LMDB_CFLAGS])
AC_SUBST([LMDB_LIBS])
EOF
then, of course,
./autogen.sh
now, after config, correctly
s|^LMDB_CFLAGS =.*|LMDB_CFLAGS = -I/usr/local/lmdb/include|g
s|^LMDB_LIBS =.*|LMDB_LIBS = -L/usr/local/lmdb/lib64 -llmdb|g
on subsequent build, there's no longer any 'fatal error',
In file included from server.c:131:
/usr/local/src/bind-9.16.4/lib/dns/include/dns/lmdb.h:12:10: fatal error: lmdb.h: No such file or directory
12 | #include <lmdb.h>
| ^~~~~~~~
compilation terminated.
and, on install, named runs/functions
named -v
BIND 9.16.4 (Stable Release) <id:0849b42>
lmdb lib is linked,
ldd `which named` | grep lmdb
liblmdb.so => /usr/local/lmdb/lib64/liblmdb.so (0x00007fedf088b000)
but whether lmdb inclusion/usage now _functions_ correctly with that^ cleanup, i have yet to verify.
checking now ...
More information about the bind-users
mailing list