I'm trying to compile Ruby under Solaris.  I suck at C, so I don't know
what the heck I'm doing.  Here's what happened:

gcc -fPIC -Dsocklen_t=int -I. -g -O2 -I. -I/stage/public/solaris/ruby
-I/stage/public/solaris/ruby -I/stage/public/solaris/ruby/ext/socket
-DHAVE_NETINET_TCP_H -DHAVE_NETINET_UDP_H -DHAVE_SENDMSG
-DHAVE_INET_NTOP -DHAVE_INET_PTON -DHAVE_GETSERVBYPORT
-DHAVE_ARPA_INET_H -DHAVE_ARPA_NAMESER_H -DHAVE_RESOLV_H -DHAVE_SYS_UN_H
-DHAVE_SYS_UIO_H -DHAVE_SOCKET -DHAVE_GETHOSTNAME
-Dss_family=__ss_family -Dss_len=__ss_len -c socket.c
In file included from /usr/include/netinet/in.h:41,
                 from /usr/include/sys/socket.h:203,
                 from socket.c:31:
/usr/include/sys/stream.h:307: parse error before "projid_t"
socket.c:96:1: warning: "_SS_MAXSIZE" redefined
/usr/include/sys/socket.h:216:1: warning: this is the location of the
previous definition
socket.c:97:1: warning: "_SS_ALIGNSIZE" redefined
/usr/include/sys/socket.h:233:1: warning: this is the location of the
previous definition
socket.c:98:1: warning: "_SS_PAD1SIZE" redefined
/usr/include/sys/socket.h:238:1: warning: this is the location of the
previous definition
socket.c:99:1: warning: "_SS_PAD2SIZE" redefined
/usr/include/sys/socket.h:239:1: warning: this is the location of the
previous definition
socket.c:102: redefinition of `struct sockaddr_storage'
*** Error code 1
make: Fatal error: Command failed for target `socket.o'
Current working directory /stage/public/solaris/ruby/ext/socket
*** Error code 1
make: Fatal error: Command failed for target `all'

Can anyone make heads or tails of that?  I looked in the file it said it
had a parse error in, but things looked okay...

-Kurt