[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: 3.1.11 compile error
On Wed, 14 Apr 1999, Nerijus wrote:
> RedHat pre6, Intel, kernel 2.2.5, glibc 2.1.
>
> I made a link /usr/include/ndbm.h -> /usr/include/db1/ndbm.h (it is from
> glibc-devel rpm)
> Then I got a following error:
> gcc -DHAVE_CONFIG_H -I. -I. -I.. -Dunix -DSIAG -DNDBM -Wall -g -O2 -c
> ndbm.c
> ndbm.c: In function `ldbm_pagfno':
> ndbm.c:155: `DBM_PAGFNO_NOT_AVAILABLE' undeclared (first use in this
> function)
> ndbm.c:155: (Each undeclared identifier is reported only once
> ndbm.c:155: for each function it appears in.)
> make[2]: *** [ndbm.o] Error 1
> make[2]: Leaving directory `/a/siag-3.1.8/siod'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/a/siag-3.1.8'
> make: *** [all-recursive-am] Error 2
>
> Do you think it is a problem with my glibc installation?
It must be a header/library mismatch. Configure has already found a pagfno
in your library: it must have, because that part of ndbm.c is protected by
"#ifdef HAVE_DBM_PAGFNO".
If it is of any help, this old Sparc running RH 4.2 does *not* have pagfno
and its /usr/include/ndbm.h says:
#define dbm_pagfno(a) DBM_PAGFNO_NOT_AVAILABLE
That header has a copyright from 1993. Chances are that the library on
your system has been updated but not the header.
Ulric