Somehow the rb_fd_init macro is conflicting with the definition of  
rb_fd_init in eval.c.

intern.h has:

#ifdef NFDBITS

...

#else

#define rb_fd_init(f)   FD_ZERO(f)

...

eval.c has:

#ifdef NFDBITS
void
rb_fd_init(fds)
     volatile rb_fdset_t *fds;
{
     fds->maxfd = 0;
     fds->fdset = ALLOC(fd_set);
     FD_ZERO(fds->fdset);
}

...

-- 
Eric Hodel - drbrain / segment7.net - http://segment7.net
FEC2 57F1 D465 EB15 5D6E  7C11 332A 551C 796C 9F04