On Sat, Apr 27, 2002 at 06:20:23PM +0100, Jason Williams wrote: | On Sat, Apr 27, 2002 at 11:58:38AM -0500, dman wrote: | > grep tells me that function is declared in /usr/include/netdb.h. With | > g++ 2.95 I get the same error, but g++ 3.0 works fine. I get the same | > set of results with gcc. | | Excellent, thanks, using 3.0 does indeed fix the problem. Is this a bug, | then? (what package? gcc?)
I don't know for sure, but I just noticed this :
-- netdb.h :
#ifdef __USE_MISC
...
extern struct hostent *gethostbyname2 (__const char *__name, int __af) __THROW;
...
#endif
If you put
#define __USE_MISC
above the include of netdb.h gcc/g++ 2.95 will work.
I don't know about this one, but I do recall some other situations
where changes in gcc 3.0 cause one version to work and the other to
"not" work, but really the problem is a programmer error wrt the
standards (one is more standards conforming than the other).
-D
--
"...In the UNIX world, people tend to interpret `non-technical user' as
meaning someone who's only ever written one device driver."
--Daniel Pead
GnuPG key : http://dman.ddts.net/~dman/public_key.gpg
pgpmUYhKYMC21.pgp
Description: PGP signature

