Issue with DBM and CURRENT on RHEL/CentOS 6.5?
Julien ÉLIE
julien at trigofacile.com
Tue Dec 10 21:44:35 UTC 2013
Hi Jesse,
>> (Did you run configure again after the upgrade of your system, before
>> rebuilding it?)
> The previous version was 20131014. I did not re-run configure, and now
> that I have it is failing in the same way as the latest CURRENT.
OK, thanks for having checked.
> [root at nnrp include]# egrep
> 'HAVE_BDB_NDBM|HAVE_DB1_NDBM_H|HAVE_DBM|HAVE_GDBM_NDBM_H|HAVE_NDBM_H'
> config.h
> /* #undef HAVE_BDB_NDBM */
> /* #undef HAVE_DB1_NDBM_H */
> #define HAVE_DBM 1
> /* #undef HAVE_GDBM_NDBM_H */
> /* #undef HAVE_NDBM_H */
And what is the value of DBM_LIBS in Makefile.global?
It should normally be one of "ndbm", "dbm", "gdbm", or "gdbm_compat -lgdbm".
This variable is set when the dbm_open function has been found.
> Looks like DBM support wasn't previously defined. I cannot remove the
> gdbm-devel package without breaking dependency with perl-devel. It
> looks like the dependency on gdbm-devel was introduced by the latest
> update to perl-core which now requires perl-devel and subsequently
> gdbm-devel.
May it be that "gdbm" or "gdbm_compat -lgdbm" is set for DBM_LIBS?
I have just had a look at the contents of the "GNU dbm" tar ball, which
provides "compat/ndbm.h". If it is installed by the gdbm-devel package,
then the following patch should work:
--- authprogs/ckpasswd.c (révision 9577)
+++ authprogs/ckpasswd.c (copie de travail)
@@ -37,6 +37,8 @@
# include <db.h>
# elif HAVE_NDBM_H
# include <ndbm.h>
+# elif HAVE_COMPAT_NDBM_H
+# include <compat/ndbm.h>
# elif HAVE_GDBM_NDBM_H
# include <gdbm-ndbm.h>
# elif HAVE_DB1_NDBM_H
Index: configure.ac
===================================================================
--- configure.ac (révision 9577)
+++ configure.ac (copie de travail)
@@ -379,8 +379,8 @@
sys/select.h sys/time.h unistd.h])
dnl Some Linux systems have db1/ndbm.h instead of ndbm.h. Others have
-dnl gdbm-ndbm.h.
-AC_CHECK_HEADERS([ndbm.h db1/ndbm.h gdbm-ndbm.h], [break])
+dnl compat/ndbm.h or gdbm-ndbm.h.
+AC_CHECK_HEADERS([ndbm.h db1/ndbm.h compat/ndbm.h gdbm-ndbm.h], [break])
dnl Check for whether various symbols are declared.
AC_CHECK_DECLS([pread, pwrite, snprintf, setproctitle, strlcat,
Do you see any improvement if you run "./autogen" (so as to regenerate
the configure file) and then configure and make?
If the gdbm-devel package installs the headers in another place, please
tell me which one it is (you can try to "grep -r dbm_open *" in your
system headers path).
--
Julien ÉLIE
« – Nous ne connaissons pas leur langue, donc, sous aucun prétexte
il ne faut parler aux Goths !
– Mais on peut leur taper dessus ? » (Astérix)
More information about the inn-workers
mailing list