Holger Marzen <holger@marzen.de> writes:
> When I try to compile PostgreSQL 7.2.4 or 7.4.1 then I get
> |gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations
> |-I../../../src/include -D_GNU_SOURCE -c hba.c -o hba.o
> |hba.c: In function `parse_hba':
> |hba.c:675: warning: implicit declaration of function `gai_strerror'
> |hba.c:675: warning: format argument is not a pointer (arg 3)
> |hba.c: In function `ident_unix':
> |hba.c:1411: storage size of `peercred' isn't known
> |hba.c:1411: warning: unused variable `peercred'
> |make[3]: *** [hba.o] Error 1
The configure process assumes that any platform that supplies
getaddrinfo() will also supply gai_strerror(). Is that not true
in your version of glibc? If not, one possible workaround is to
force use of our own getaddrinfo replacement (#undef HAVE_GETADDRINFO
and add getaddrinfo.o to LIBOBJS).
Probably the easiest way around the peercred problem is just to disable
that chunk of code ("#elif defined(SO_PEERCRED)" to "#elif 0" at line
1409 of hba.c will probably do it). You may need to dike out the
corresponding code in client-side libpq as well.
regards, tom lane