Ian Lance Taylor <i...@golang.org> writes: > On Thu, Jan 15, 2015 at 8:30 AM, Rainer Orth > <r...@cebitec.uni-bielefeld.de> wrote: >> >> This (and perhaps the previous gotools) patch broke Solaris bootstrap: >> >> /vol/gcc/src/hg/trunk/local/libgo/go/net/tcpsockopt_unix.go:23:73: error: >> reference to undefined identifier 'syscall.TCP_KEEPINTVL' >> if err := syscall.SetsockoptInt(fd.sysfd, syscall.IPPROTO_TCP, >> syscall.TCP_KEEPINTVL, secs); err != nil { >> /vol/gcc/src/hg/trunk/local/libgo/go/net/tcpsockopt_unix.go:26:103: >> error: reference to undefined identifier 'syscall.TCP_KEEPIDLE' >> return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(fd.sysfd, >> syscall.IPPROTO_TCP, syscall.TCP_KEEPIDLE, secs)) >> make[4]: *** [net.lo] Error 1 >> >> The following patch fixes this: > > That's interesting--would you mind looking into this just a bit more? > What version of Solaris was this? In the gc version of the library, > those symbols are defined for Solaris. TCP_KEEPINTVL is 0x24 and > TCP_KEEPIDLE is 0x22. I just want to make sure that they are really > not defined on your system, and the problem is not that mksysinfo is > somehow failing to handle the definition.
I'd checked this before and did some more archaeology now: on Solaris 11.2, <netinet/tcp.h> has #define TCP_INFO 0x22 /* connection information */ and 0x24 isn't defined yet. OTOH, on Illumos (one of the OpenSolaris derivatives) I find #define TCP_KEEPIDLE 0x22 #define TCP_KEEPINTVL 0x24 Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University