Subject: The Real Failure was Re: tnftp Build Failure
To: None <tech-pkg@netbsd.org>
From: Randy Beaudreault <maccult@pacbell.net>
List: tech-pkg
Date: 02/03/2004 00:34:48
>In attempting to bootstrap my OS X.3 (Panther) Mac, I'm getting this 
>error when it attempts to build tnftp:
>ftp.c: In function `empty':
>ftp.c:557: warning: variable `pfd' is implicitly extern
>ftp.c:560: invalid use of undefined type `struct pollfd'
>ftp.c:561: invalid use of undefined type `struct pollfd'
>ftp.c:561: `POLLIN' undeclared (first use in this function)
>ftp.c:561: (Each undeclared identifier is reported only once
>ftp.c:561: for each function it appears in.)
>ftp.c:565: invalid use of undefined type `struct pollfd'
>ftp.c:566: invalid use of undefined type `struct pollfd'
>ftp.c:575: invalid use of undefined type `struct pollfd'
>ftp.c:577: invalid use of undefined type `struct pollfd'
>My C knowledge is really limited so I don't know what this means so 
>that I can even begin to attempt to fix this.  What do I do with 
>this to bootstrap my Mac back to pkgsrc capability?

This above problem stems from a weird bit of configuring:
checking for poll.h... no
checking for sys/poll.h... no

and further down:
checking for poll... yes

Which messes with this logic in tnftp.h:
#if HAVE_POLL
# if HAVE_POLL_H
#  include <poll.h>
# elif HAVE_SYS_POLL_H
#  include <sys/poll.h>
# endif
#elif HAVE_SELECT
# define USE_SELECT
#else
# error "no poll() or select() found"
#endif

This isn't the real issue though.  The real issue comes from this warning:
/usr/include/poll.h:73: warning: #warning "poll() functionality for 
Mac OS X is implemented via an emulation layer on top of select(), 
not in the kernel directly.  It is recommended that programs running 
under OS X 10.3 prefer select() over poll().  Configure scripts 
should look for the _POLL_EMUL_H_ define (instead of _POLL_H_ or 
_SYS_POLL_H_) and avoid implementations where poll is not implemented 
in the kernel."

So the configure scripts for all in bootstrap-pkgsrc need to be 
adjusted for OS X.3.
-- 
Randy Beaudreault

"Spam in a can" - a description of the first astronauts

"Love is like solving the perfect murder.  It's good to be good,
but better to be lucky" - Det. Frank Pembleton
 From the show, "Homicide: Life On The Street"