[racket] Should Solaris use "poll()"?

From: Tim Brown (tim.brown at cityc.co.uk)
Date: Tue May 29 11:15:26 EDT 2012


In kindness to Eli (who's been doing a sterling job running messages from
me to you), I'll report this to you directly...

I had an issue building racket-5.2.1 from the UNIX source tar ball with
Solaris 5.10 and the gcc compiler. I configure with "./configure", no
further flags.

I get the following error in port.c:
gcc -I./.. -I./../include -g -O2  -Wall     -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -c ./port.c -o port.o
./port.c: In function `scheme_alloc_global_fdset':
./port.c:792: error: invalid application of `sizeof' to incomplete type 
./port.c: In function `scheme_merge_fd_sets':
./port.c:1257: warning: implicit declaration of function `FDSET_LIMIT'
./port.c:1259: error: invalid lvalue in assignment
*** Error code 1
make: Fatal error: Command failed for target `port.o'

If I patch the configure script with try_poll_syscall=yes, the build
succeeds. This is the change that I have made a pull request for on
github master. However, I made that patch without checking first that
the master has the problem.

In fact, I do not have this problem with the github master. Whether or not
the patch is active. But I haven't cancelled my pull requests.

Because, although it works I was wondering whether try_poll_syscall=yes
should be set for Solaris 5.10, since it is a system that supports poll().
(And I assume that even if there is a version that doesn't support poll(),
configure would switch the facility off anyway).

Or is this detected in another way during the build process?



Tim Brown <tim.brown at cityc.co.uk>  | City Computing Limited            |
T: +44 20 8770 2110                | City House, Sutton Park Road      |
F: +44 20 8770 2130                | Sutton, Surrey, SM1 2AE, GB       |
BEAUTY:  What's in your eye when you have a bee in your hand           |
City Computing Limited registered in London No. 1767817.
Registered Office: City House, Sutton Park Road, Sutton, Surrey, SM1 2AE
VAT number 372 8290 34.

Posted on the users mailing list.