Re: AC_REPLACE_FUNCS([getaddrinfo]) in 8.1.3

From: Albert Chin <pgsql-hackers(at)mlists(dot)thewrittenword(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: AC_REPLACE_FUNCS([getaddrinfo]) in 8.1.3
Date: 2006-02-20 02:26:26
Message-ID: 20060220022625.GE93931@mail1.thewrittenword.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Feb 19, 2006 at 09:02:48PM -0500, Tom Lane wrote:
> Albert Chin <pgsql-hackers(at)mlists(dot)thewrittenword(dot)com> writes:
> > AC_REPLACE_FUNCS([getaddrinfo]) won't correctly detect getaddrinfo on
> > Tru64 UNIX because the function doesn't exist under that name in libc.
>
> We changed that code specifically so it *would* work on Tru64 --- see
> this thread:
> http://archives.postgresql.org/pgsql-hackers/2006-01/msg00511.php
> Please explain why you think it's a regression.

From my reading, no completed patch was posted in the thread.
AC_REPLACE_FUNCS([getaddrinfo]) will not detect getaddrinfo() on Tru64
UNIX because getaddrinfo is not in libc. Because of this, getaddrinfo
isn't detected and the compilation of src/port/thread.c fails:
cc -std -O2 -ieee -msym -readonly_strings -I../../src/port -DFRONTEND -I../../src/include -I/opt/TWWfsw/gettext014/include -I/opt/TWWfsw/libopenssl097/include -I/opt/TWWfsw/zlib11/include -I/opt/TWWfsw/tcl84/include -I/opt/TWWfsw/tk84/include -pthread --thread-safe -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS -c thread.c
cc: Warning: thread.c, line 80: In this statement, "strerror_r(...)" of type "int", is being converted to "pointer to char". (cvtdiftypes)
return strerror_r(errnum, strerrbuf, buflen);
---------------^
cc: Warning: thread.c, line 141: In this statement, the referenced type of the pointer value "buffer" is "char", which is not compatible with "struct hostent_data". (ptrmismatch)
*result = gethostbyname_r(name, resultbuf, buffer, buflen, herrno);
---------------------------------------------------^
cc: Error: thread.c, line 141: In this statement, "gethostbyname_r" expects 3 arguments, but 5 are supplied. (toomanyargs)
*result = gethostbyname_r(name, resultbuf, buffer, buflen, herrno);
------------------^
gmake[2]: *** [thread.o] Error 1

gethostbyname_r() on Tru64 UNIX accepts 3 arguments.

--
albert chin (china(at)thewrittenword(dot)com)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2006-02-20 02:56:20 Re: AC_REPLACE_FUNCS([getaddrinfo]) in 8.1.3
Previous Message Tom Lane 2006-02-20 02:02:48 Re: AC_REPLACE_FUNCS([getaddrinfo]) in 8.1.3