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