I had a go at compiling the Go frontend on Solaris. The i386 build completed fine, but the sparc build has failed. I thought it would be really cool to provide a sparc port of the Go language, so here are some details of the problem, perhaps someone will have an idea how to make it build. The immediate problem looks like this: when building syscall.o, the following error shows up: sysinfo.go:3083:26: error: unexpected semicolon or newline in type declaration Looking around the line 3083 of sysinfo.go, the difference between i386/Solaris and sparc/Solaris is this: i386 (builds fine): type Iovec_len_t uint32 type Iovec struct { Base *byte; Len Iovec_len_t; } type Msghdr_controllen_t uint32 type Msghdr struct { Name *byte; Namelen uint32; Iov *Iovec; Iovlen int32; Control *byte; Controllen Msghdr_controllen_t; Flags int32; } sparc (build fails): type Iovec_len_t int32 type Iovec struct { Base _caddr_t; Len Iovec_len_t; } type Msghdr_controllen_t type Msghdr struct { Name *byte; Namelen uint32; Iov *Iovec; Iovlen int32; msg_accrights _caddr_t; msg_accrightslen int32; } The first observation is that on sparc there's nothing after the Msghdr_controllen_t. Does anyone have an advice where to look to make it build? Maciej