Send inn-workers mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.isc.org/mailman/listinfo/inn-workers
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of inn-workers digest..."
Today's Topics:
1. Re: Issue with DBM and CURRENT on RHEL/CentOS 6.5? (Julien ?LIE)
2. Re: Issue with DBM and CURRENT on RHEL/CentOS 6.5? (Jesse Rehmer)
3. Re: Issue with DBM and CURRENT on RHEL/CentOS 6.5? (Julien ?LIE)
4. Re: Issue with DBM and CURRENT on RHEL/CentOS 6.5? (Jesse Rehmer)
5. Re: Issue with DBM and CURRENT on RHEL/CentOS 6.5? (Julien ?LIE)
----------------------------------------------------------------------
Message: 1
Date: Tue, 10 Dec 2013 20:54:44 +0100
From: Julien ?LIE <[email protected]>
To: "[email protected]" <[email protected]>
Subject: Re: Issue with DBM and CURRENT on RHEL/CentOS 6.5?
Message-ID: <[email protected]>
Content-Type: text/plain; charset=windows-1252; format=flowed
Hi Jesse,
> I'm trying to build the latest CURRENT and am running into an issue
> related to DBM. Interestingly enough I also notice that earlier this
> evening I updated all of the packages on my system (CentOS 6.5 now)
> which updated gdbm and also installed gdbm-devel as a dependency to
> perl-devel. I was able to build an older version of CURRENT that I had
> laying around.
What is the date of the older version of CURRENT that builds fine?
(Did you run configure again after the upgrade of your system, before
rebuilding it?)
If you still have it, what are the values in include/config.h for:
HAVE_BDB_NDBM
HAVE_DB1_NDBM_H
HAVE_DBM
HAVE_GDBM_NDBM_H
HAVE_NDBM_H
Same question for the latest CURRENT (the one that does not build).
> make[1]: Entering directory
> `/usr/local/news/src/inn-CURRENT-20131208/authprogs'
> gcc -g -O2 -I../include -c ckpasswd.c
> ckpasswd.c: In function ?password_dbm?:
> ckpasswd.c:167: error: ?datum? undeclared (first use in this function)
> ckpasswd.c:167: error: (Each undeclared identifier is reported only once
> ckpasswd.c:167: error: for each function it appears in.)
> ckpasswd.c:167: error: expected ?;? before ?key?
> ckpasswd.c:168: error: ?DBM? undeclared (first use in this function)
> ckpasswd.c:168: error: ?database? undeclared (first use in this function)
> ckpasswd.c:174: error: ?key? undeclared (first use in this function)
> ckpasswd.c:176: error: ?value? undeclared (first use in this function)
> make[1]: *** [ckpasswd.o] Error 1
> make[1]: Leaving directory
> `/usr/local/news/src/inn-CURRENT-20131208/authprogs'
> make: *** [all-authprogs] Error 2
It seems that DBM support has been found at configure time by INN but
the related headers are not properly included or working.
--
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)
------------------------------
Message: 2
Date: Tue, 10 Dec 2013 14:08:00 -0600
From: Jesse Rehmer <[email protected]>
To: Julien ?LIE <[email protected]>
Cc: "[email protected]" <[email protected]>
Subject: Re: Issue with DBM and CURRENT on RHEL/CentOS 6.5?
Message-ID: <[email protected]>
Content-Type: text/plain; charset=windows-1252
Julien ?LIE wrote:
> What is the date of the older version of CURRENT that builds fine?
> (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.
> If you still have it, what are the values in include/config.h for:
> HAVE_BDB_NDBM
> HAVE_DB1_NDBM_H
> HAVE_DBM
> HAVE_GDBM_NDBM_H
> HAVE_NDBM_H
>From the latest CURRENT:
[root@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 */
>From a previous build that worked (and has not had configure re-ran):
[root@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 */
/* #undef HAVE_DBM */
/* #undef HAVE_GDBM_NDBM_H */
/* #undef HAVE_NDBM_H */
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.
------------------------------
Message: 3
Date: Tue, 10 Dec 2013 22:44:35 +0100
From: Julien ?LIE <[email protected]>
To: "[email protected]" <[email protected]>
Subject: Re: Issue with DBM and CURRENT on RHEL/CentOS 6.5?
Message-ID: <[email protected]>
Content-Type: text/plain; charset=windows-1252
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@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)
------------------------------
Message: 4
Date: Tue, 10 Dec 2013 16:40:24 -0600
From: Jesse Rehmer <[email protected]>
To: "[email protected]" <[email protected]>
Subject: Re: Issue with DBM and CURRENT on RHEL/CentOS 6.5?
Message-ID: <[email protected]>
Content-Type: text/plain; charset="windows-1252"
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@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
>> 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
> # 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
the results.
This may help a bit:
[root@nnrp inn-CURRENT-20131208]# rpm -ql gdbm-devel
/usr/include/gdbm
/usr/include/gdbm.h
/usr/include/gdbm/dbm.h
/usr/include/gdbm/gdbm.h
/usr/include/gdbm/ndbm.h
/usr/lib64/libgdbm.so
/usr/share/info/gdbm.info.gz
/usr/share/man/man3/gdbm.3.gz
[root@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...
URL:
<https://lists.isc.org/pipermail/inn-workers/attachments/20131210/2ba136df/attachment-0001.html>
------------------------------
Message: 5
Date: Wed, 11 Dec 2013 09:37:54 +0100
From: Julien ?LIE <[email protected]>
To: "[email protected]" <[email protected]>
Subject: Re: Issue with DBM and CURRENT on RHEL/CentOS 6.5?
Message-ID: <[email protected]>
Content-Type: text/plain; charset=ISO-8859-1; DelSp="Yes";
format="flowed"
Hi Jesse,
> [root@nnrp inn-CURRENT-20131208]# grep DBM_LIBS Makefile.global
> DBM_LIBS = -lgdbm
>
> This may help a bit:
>
> [root@nnrp inn-CURRENT-20131208]# rpm -ql gdbm-devel
> /usr/include/gdbm
> /usr/include/gdbm.h
> /usr/include/gdbm/dbm.h
> /usr/include/gdbm/gdbm.h
> /usr/include/gdbm/ndbm.h
> /usr/lib64/libgdbm.so
> /usr/share/info/gdbm.info.gz
> /usr/share/man/man3/gdbm.3.gz
OK, thanks.
Does the build work if you manually add in ckpasswd.c the line:
#include <gdbm/ndbm.h>
after for instance:
#include <grp.h>
I suggest this quick test because you do not have a recent enough autoconf
version to regenerate a configure file.
Incidentally, if you are currently blocked in your tests and wish to build
INN, do not hesitate to comment the HAVE_DBM line in include/config.h;
ckpasswd will then build fine because it will no longer try to include
ndbm support.
--
Julien ?LIE
------------------------------
_______________________________________________
inn-workers mailing list
[email protected]
https://lists.isc.org/mailman/listinfo/inn-workers
End of inn-workers Digest, Vol 58, Issue 3
******************************************