[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