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

Reply via email to