Issue with DBM and CURRENT on RHEL/CentOS 6.5?
jesse.rehmer at blueworldhosting.com
Tue Dec 10 22:40:24 UTC 2013
Julien ÉLIE wrote:
> 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.
[root at nnrp inn-CURRENT-20131208]# grep DBM_LIBS Makefile.global
DBM_LIBS = -lgdbm
>> 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
> 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
> # elif HAVE_NDBM_H
> # include
> +# elif HAVE_COMPAT_NDBM_H
> +# include
> # elif HAVE_GDBM_NDBM_H
> # include
> # 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).
Autogen doesn't work for me since it says it requires autoconf 2.64 and
I have 2.63. If I modify configure.ac it will run but doesn't change
This may help a bit:
[root at nnrp inn-CURRENT-20131208]# rpm -ql gdbm-devel
[root at nnrp inn-CURRENT-20131208]# grep -r dbm_open /usr/include/*
/usr/include/db4/db.h:#define dbm_open(a, b, c) __db_ndbm_open(a, b, c)
/usr/include/db4/db.h:DBM *__db_ndbm_open __P((const char *, int, int));
/usr/include/db.h:#define dbm_open(a, b, c) __db_ndbm_open(a, b, c)
/usr/include/db.h:DBM *__db_ndbm_open __P((const char *, int, int));
/usr/include/gdbm/gdbm.h:/* Parameters to gdbm_open for READERS, WRITERS, and WRITERS who
/usr/include/gdbm/gdbm.h:extern GDBM_FILE gdbm_open __P((char *, int, int, int, void (*)()));
/usr/include/gdbm/ndbm.h:extern DBM *dbm_open ();
/usr/include/gdbm.h:/* Parameters to gdbm_open for READERS, WRITERS, and WRITERS who
/usr/include/gdbm.h:extern GDBM_FILE gdbm_open __P((char *, int, int, int, void (*)()));
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the inn-workers