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"