Hope everyone's having fun at LinuxWorld.
I couldn't find any discussion of a solution for this (according to Google, mysql.com search), other than at least a dozen reports from people having trouble with it. The bug is that the proper error is not reported and at least I was sent on a wild goose chase. In attempting to build MySQL 3.23.54a on a fresh Red Hat 8.0: libmysql.c: In function `mysql_real_connect': libmysql.c:1325: warning: passing arg 5 of `gethostbyname_r' from incompatible pointer type libmysql.c:1325: too few arguments to function `gethostbyname_r' libmysql.c:1325: warning: assignment makes pointer from integer without a cast Very odd. What ends up being generated in include/my_net.h is: #define my_gethostbyname_r(A,B,C,D,E) gethostbyname_r((A),(B),(C),(D), When it should be generating: struct hostent *my_gethostbyname_r(const char *name,struct hostent *result, char *buffer,int buflen, int *h_errnop); It does not get generated because ./configure does not detect GLIBC2's gethostbyname_r() even though it is there, and it is the six argument version that ends up being called with five. The problem actually has nothing to do with gethostbyname_r(). The problem is that g++ is not installed. The configure test program for gethostbyname_r() type depends on a C++ compiler, and ./configure is not halting the process for lack of C++ compiler: configure:19299: checking style of gethostname_r routines configure:19347: g++ -c -O -DDBUG_OFF conftest.cc >&5 ./configure: line 1: g++: command not found configure:19350: $? = 127 configure: failed program was: #line 19316 "configure" #include "confdefs.h" #undef inline #if !defined(SCO) && !defined(__osf__) && !defined(_REENTRANT) #define _REENTRANT #endif #include <pthread.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { int skr; skr = gethostbyname_r((const char *) 0, (struct hostent*) 0, (char*) 0, 0, (struct hostent **) 0, &skr); ; return 0; } Solution? Tell the user there is no C++ compiler if there is no C++ compiler. -- Michael Bacarella 24/7 phone: 646 641-8662 Netgraft Corporation http://netgraft.com/ "unique technologies to empower your business" Finger email address for public key. Key fingerprint: C40C CB1E D2F6 7628 6308 F554 7A68 A5CF 0BD8 C055 --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php