I'm heading for Europe early next week, for some five weeks. Sadly, I will not be able to attend IWP9 in Madrid, but my thoughts will certainly be with those who will be there.
Anyway, I have more or less tidied up the Go release so that it is possible to compile the Go toolchain (linker, assembler, C compiler and Go compiler) on Plan 9 native. I have tested it using a couple of 386 hosts as well as the Sheevaplug. Of course, the hard work was performed by Russ Cox, who had to deal with all my foibles. But now it is largely done and a pause before I tackle the runtime and the release packages will probably be good for all involved. In summary, I've uploaded to /n/sources contrib/lucio/go.ext.bz2 which is a mkext archive intended, as in the past, to be extracted in /go. The mkfiles are a bit feeble, I have no doubt I'll understand mk and the mkfiles a lot better by the time I get to the end of this exercise. To extract the archive: 9fs sources bunzip2 </n/sources/contrib/lucio/go.ext.bz2 | disk/mkext -v -d /go The procedure to build the toolchain is suggested in /go/mkfile: cd /go/src/cmd chmod +x gc/mkopnames.rc mk clean mk install The "mk clean" command makes sure that gc/y.tab.[ch] are built from saved versions; until the bison dependency remains, this is the simplest way to deal with it. "mk install" puts the executables in /go/386/bin/. I note that I have done nothing about the runtime or the packages, it is a bit late now: the assumption is that $GOROOT is /go, with packages and runtime in /go/pkg/plan9_386/. I used Linux to cross-build the runtime for Plan 9: $ GOOS=plan9 GOBIN=/go/386/bin ./all.bash One more snag: I don't really know how to synchronise the Go version, but trial and error seem to work. Also, the permissions are broken, I'm not sure which cross-platform operation makes everything world-writable. When I get back I'll give priority to tidying up these small things before I proceed. It is possible that conditions on my equipment are different from the Plan 9 distribution and I would not know about it: please let me know if you encounter difficulties, I will check my mail as often as I can. ++L