Re: [9fans] Go on Plan 9?
> Yeah, thank goodness for snapshots :O Running replica/pull didn't turn out > so good for my current running system. It looks like it might make the most > sense to just archive my home directory and reload a fresh VM ... > > Where are they keeping the most current installation ISO these days? I'm > just not sure of what's canonical now that the old bell-labs.com domain is > offline. You can download the latest Plan 9 CD image here: https://9p.io/plan9/download/plan9.iso.bz2 -- David du Colombier
Re: [9fans] Go on Plan 9?
> Where are they keeping the most current installation ISO these days? I'm > just not sure of what's canonical now that the old bell-labs.com domain is > offline. David is in charge of legacy Plan 9 outside of Bell Labs. His instructions were pretty explicit, but if you run into trouble I'll be happy to guide you. I can't always remember how my Plan 9 (legacy) system is different from the distribution, but it runs Go (tip) more than adequately (I actually have two production systems). Installing from CD isn't always successful, even from David's legacy site. I did have to make some allowance for the ESX 3.5i instance that is running as fumble.proxima.alt.za. Lucio.
[9fans] Go on Plan 9?
Hi all, I've been getting interested in programming in Go recently and it's my understanding that at some point in time, Plan 9 was a supported environment in which one could bootstrap and use Go? I've tried a few different versions; 1.2.2, 1.4.2, 1.5.2, just following the directions that I found on a blog somewhere, i.e: tar xf go 1.4.2.tar cd go-go1.4.2/src ./all.rc But it fails almost immediately trying to bootstrap Go: cpu% ./all.rc # Building C bootstrap tool. cmd/dist # Building compilers and Go bootstrap tool for host, plan9/386. lib9 cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:226 /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 /usr/scaron/go-go1.4.2/include/plan9/../fmt.h:21 /usr/scaron/go-go1.4.2/include/plan9/fmt.h:5 /usr/scaron/go-go1.4.2/include/plan9/libc.h:6 /usr/scaron/go-go1.4.2/src/lib9/flag.c:6 Unterminated string or char const I get a fair number of these errors for various header files, then some more worrisome output: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:152] external redeclaration of: Rune TYPEDEF UINT /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:152] TYPEDEF USHORT /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:21] /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/flag.c:153] external redeclaration of: Rune TYPEDEF UINT /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/flag.c:153] TYPEDEF USHORT /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/flag.c:22] cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:227 /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 /usr/scaron/go-go1.4.2/include/plan9/libc.h:7 /usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:20 Unterminated string or char const go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 -D__SIZE_TYPE__=ulong -I/usr/scaron/go-go1.4.2/include/plan9 -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/dorfmt.8 /usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c: '/usr/scaron/go-go1.4.2/pkg/obj/plan9_386/lib9.a' does not exist go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 -D__SIZE_TYPE__=ulong -I/usr/scaron/go-go1.4.2/include/plan9 -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/flag.8 /usr/scaron/go-go1.4.2/src/lib9/flag.c: '/usr/scaron/go-go1.4.2/pkg/obj/plan9_386/lib9.a' does not exist cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:227 /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 /usr/scaron/go-go1.4.2/include/plan9/libc.h:7 /usr/scaron/go-go1.4.2/src/lib9/fmt/dofmt.c:20 Unterminated string or char const /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:152] external redeclaration of: Rune TYPEDEF UINT /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:152] TYPEDEF USHORT /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:21] /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dofmt.c:152] external redeclaration of: Rune TYPEDEF UINT /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dofmt.c:152] TYPEDEF USHORT /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/fmt/dofmt.c:21] go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 -D__SIZE_TYPE__=ulong -I/usr/scaron/go-go1.4.2/include/plan9 -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/charstod.8 /usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c: '/usr/scaron/go-go1.4.2/pkg/obj/plan9_386/lib9.a' does not exist go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 -D__SIZE_TYPE__=ulong -I/usr/scaron/go-go1.4.2/include/plan9 -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/dofmt.8 /usr/scaron/go-go1.4.2/src/lib9/fmt/dofmt.c: '/usr/scaron/go-go1.4.2/pkg/obj/plan9_386/lib9.a' does not exist At that point the build fails and I drop back to the rc prompt. While the example I cite above is for version 1.4.2, I believe the failure mode is pretty much the same for both earlier and later versions that I've tried to build. Is my Plan 9 installation "too old"? I'm using pretty bog-standard Fourth Edition on this particular instance; 9atom doesn't seem to get along with VMware ESXi (at least, not last time I checked). Any help greatly appreciated! I'd love to be able to use Go within Plan 9. Thanks, Sean
Re: [9fans] Go on Plan 9?
>From http://fqa.9front.org/appendixl.html: # automatically converted ca certs from mozilla.org hget http://curl.haxx.se/ca/cacert.pem >/sys/lib/tls/ca.pem # shell script that emulates git commands hget http://9front.org/extra/rc/git >$home/bin/rc/git chmod 775 $home/bin/rc/git # fetch the repository git clone https://go.googlesource.com/go cd go git checkout go1.4.2 # build go cd src ./make.rc # install documentation go get golang.org/x/tools/cmd/godoc # go! Newer versions of go seem to have problems with Plan 9. sl
Re: [9fans] Go on Plan 9?
Go builds just fine right now on the plan9 builders: http://build.golang.org 1.4 and 1.5 are very different, due to 1.5 being written in Go. i386 and amd64 should both build, although amd64 fails an irrelevant unittest. What do you see with 1.5.2/1.5.3? (You said you tried?) Best regards, Kenny Levinsen // joushou > On 26 Jan 2016, at 22:52, s...@9front.org wrote: > > From http://fqa.9front.org/appendixl.html: > > # automatically converted ca certs from mozilla.org > hget http://curl.haxx.se/ca/cacert.pem >/sys/lib/tls/ca.pem > # shell script that emulates git commands > hget http://9front.org/extra/rc/git >$home/bin/rc/git > chmod 775 $home/bin/rc/git > # fetch the repository > git clone https://go.googlesource.com/go > cd go > git checkout go1.4.2 > # build go > cd src > ./make.rc > # install documentation > go get golang.org/x/tools/cmd/godoc > # go! > > Newer versions of go seem to have problems with Plan 9. > > sl >
Re: [9fans] Go on Plan 9?
All the errors seem related to the old Rune size. I suspect you're running an old system and it's likely to not have nsec and tsemacquire syscalls either. If you believe the system is up-to-date, you can cross compile a simple Go program using 1.5 or later targeting GOOS=plan9 GOARCH=386 from a Linux/OSX or Windows box and see if it runs on your system. That might give you more info. On Tue, Jan 26, 2016 at 1:44 PM Sean Caronwrote: > Hi all, > > I've been getting interested in programming in Go recently and it's my > understanding that at some point in time, Plan 9 was a supported > environment in which one could bootstrap and use Go? > > I've tried a few different versions; 1.2.2, 1.4.2, 1.5.2, just following > the directions that I found on a blog somewhere, i.e: > > tar xf go 1.4.2.tar > cd go-go1.4.2/src > ./all.rc > > But it fails almost immediately trying to bootstrap Go: > > cpu% ./all.rc > # Building C bootstrap tool. > cmd/dist > > # Building compilers and Go bootstrap tool for host, plan9/386. > lib9 > cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:226 > /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 > /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 > /usr/scaron/go-go1.4.2/include/plan9/../fmt.h:21 > /usr/scaron/go-go1.4.2/include/plan9/fmt.h:5 > /usr/scaron/go-go1.4.2/include/plan9/libc.h:6 > /usr/scaron/go-go1.4.2/src/lib9/flag.c:6 Unterminated string or char const > > I get a fair number of these errors for various header files, then some > more worrisome output: > > /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:152] > external redeclaration of: Rune > TYPEDEF UINT > /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:152] > TYPEDEF USHORT > /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:21] > /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/flag.c:153] > external redeclaration of: Rune > TYPEDEF UINT > /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/flag.c:153] > TYPEDEF USHORT > /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/flag.c:22] > cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:227 > /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 > /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 > /usr/scaron/go-go1.4.2/include/plan9/libc.h:7 > /usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:20 Unterminated string or > char const > go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 > -D__SIZE_TYPE__=ulong -I/usr/scaron/go-go1.4.2/include/plan9 > -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I > /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/dorfmt.8 > /usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c: > '/usr/scaron/go-go1.4.2/pkg/obj/plan9_386/lib9.a' does not exist > go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 > -D__SIZE_TYPE__=ulong -I/usr/scaron/go-go1.4.2/include/plan9 > -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I > /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/flag.8 > /usr/scaron/go-go1.4.2/src/lib9/flag.c: > '/usr/scaron/go-go1.4.2/pkg/obj/plan9_386/lib9.a' does not exist > cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:227 > /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 > /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 > /usr/scaron/go-go1.4.2/include/plan9/libc.h:7 > /usr/scaron/go-go1.4.2/src/lib9/fmt/dofmt.c:20 Unterminated string or char > const > /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:152] > external redeclaration of: Rune > TYPEDEF UINT > /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:152] > TYPEDEF USHORT > /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:21] > /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dofmt.c:152] > external redeclaration of: Rune > TYPEDEF UINT > /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dofmt.c:152] > TYPEDEF USHORT > /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/fmt/dofmt.c:21] > go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 > -D__SIZE_TYPE__=ulong -I/usr/scaron/go-go1.4.2/include/plan9 > -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I > /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/charstod.8 > /usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c: > '/usr/scaron/go-go1.4.2/pkg/obj/plan9_386/lib9.a' does not exist > go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 > -D__SIZE_TYPE__=ulong -I/usr/scaron/go-go1.4.2/include/plan9 > -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I > /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/dofmt.8 > /usr/scaron/go-go1.4.2/src/lib9/fmt/dofmt.c: >
Re: [9fans] Go on Plan 9?
Thanks, Skip. That would follow; this system is probably straight Fourth Edition, certainly an old ISO... I've never been 100% clear on the process for running updates; can I bring myself up to current from where I'm at now and not have to reload or build a fresh system? It's a VM and I can snapshot so I'm willing to give anything a try ... I'm looking at the directions in a (cached copy) of http://plan9.bell-labs.com/wiki/plan9/Staying_up_to_date/index.html... Is that still valid? What's the canonical procedure these days for updating a system? If that's roughly correct ... I'm running a single Plan 9 machine, combined CPU and fileserver ... I run that command as the bootes user on the system console? Thanks! Sean On Tue, Jan 26, 2016 at 5:05 PM, Skip Tavakkolian < skip.tavakkol...@gmail.com> wrote: > All the errors seem related to the old Rune size. I suspect you're running > an old system and it's likely to not have nsec and tsemacquire syscalls > either. > > If you believe the system is up-to-date, you can cross compile a simple Go > program using 1.5 or later targeting GOOS=plan9 GOARCH=386 from a Linux/OSX > or Windows box and see if it runs on your system. That might give you more > info. > > > > On Tue, Jan 26, 2016 at 1:44 PM Sean Caronwrote: > >> Hi all, >> >> I've been getting interested in programming in Go recently and it's my >> understanding that at some point in time, Plan 9 was a supported >> environment in which one could bootstrap and use Go? >> >> I've tried a few different versions; 1.2.2, 1.4.2, 1.5.2, just following >> the directions that I found on a blog somewhere, i.e: >> >> tar xf go 1.4.2.tar >> cd go-go1.4.2/src >> ./all.rc >> >> But it fails almost immediately trying to bootstrap Go: >> >> cpu% ./all.rc >> # Building C bootstrap tool. >> cmd/dist >> >> # Building compilers and Go bootstrap tool for host, plan9/386. >> lib9 >> cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:226 >> /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 >> /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 >> /usr/scaron/go-go1.4.2/include/plan9/../fmt.h:21 >> /usr/scaron/go-go1.4.2/include/plan9/fmt.h:5 >> /usr/scaron/go-go1.4.2/include/plan9/libc.h:6 >> /usr/scaron/go-go1.4.2/src/lib9/flag.c:6 Unterminated string or char const >> >> I get a fair number of these errors for various header files, then some >> more worrisome output: >> >> /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:152] >> external redeclaration of: Rune >> TYPEDEF UINT >> /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:152] >> TYPEDEF USHORT >> /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:21] >> /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/flag.c:153] >> external redeclaration of: Rune >> TYPEDEF UINT >> /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/flag.c:153] >> TYPEDEF USHORT >> /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/flag.c:22] >> cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:227 >> /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 >> /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 >> /usr/scaron/go-go1.4.2/include/plan9/libc.h:7 >> /usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:20 Unterminated string or >> char const >> go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 >> -D__SIZE_TYPE__=ulong -I/usr/scaron/go-go1.4.2/include/plan9 >> -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I >> /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/dorfmt.8 >> /usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c: >> '/usr/scaron/go-go1.4.2/pkg/obj/plan9_386/lib9.a' does not exist >> go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 >> -D__SIZE_TYPE__=ulong -I/usr/scaron/go-go1.4.2/include/plan9 >> -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I >> /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/flag.8 >> /usr/scaron/go-go1.4.2/src/lib9/flag.c: >> '/usr/scaron/go-go1.4.2/pkg/obj/plan9_386/lib9.a' does not exist >> cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:227 >> /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 >> /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 >> /usr/scaron/go-go1.4.2/include/plan9/libc.h:7 >> /usr/scaron/go-go1.4.2/src/lib9/fmt/dofmt.c:20 Unterminated string or char >> const >> /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:152] >> external redeclaration of: Rune >> TYPEDEF UINT >> /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:152] >> TYPEDEF USHORT >> /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:21] >> /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dofmt.c:152] >> external
Re: [9fans] Go on Plan 9?
> All the errors seem related to the old Rune size. I suspect you're running > an old system and it's likely to not have nsec and tsemacquire syscalls > either. > > If you believe the system is up-to-date, you can cross compile a simple Go > program using 1.5 or later targeting GOOS=plan9 GOARCH=386 from a Linux/OSX > or Windows box and see if it runs on your system. That might give you more > info. Yes, Skip is right. On your system Rune is defined as ushort instead of uint. The change from ushort to uint was done in April 2013. While you could successfully cross-compile Go 1.5, it will probably not work on your machine. In fact, the nsec system call will likely be missing as well, since it was introduced in Plan 9 in May 2014. You should update your system. Since plan9.bell-labs.com is currently down, you could either change your 9fs script and change it to pull from 9p.io, like this: http://9legacy.org/9legacy/patch/9fs-9p.io.diff Or use the latest Plan 9 CD image: http://9p.io/plan9/download/plan9.iso.bz2 Then, you will be able to compile and execute Go 1.4, 1.5 and 1.6 successfully. -- David du Colombier
Re: [9fans] Go on Plan 9?
> Go builds just fine right now on the plan9 builders: http://build.golang.org > > 1.4 and 1.5 are very different, due to 1.5 being written in Go. i386 and > amd64 should both build, although amd64 fails an irrelevant unittest. > > What do you see with 1.5.2/1.5.3? (You said you tried?) Note: I'm running 9front. I can build on amd64 but not 386. Last attempt was 1.5 on 386, bootstrapped with 1.4.2: dl; go version go version go1.4.2 plan9/386 dl; GOROOT_BOOTSTRAP=/usr/local/go dl; ./make.rc # Building Go bootstrap tool. cmd/dist # Building Go toolchain using /usr/local/go. bootstrap/internal/obj bootstrap/asm/internal/flags bootstrap/compile/internal/big bootstrap/internal/obj/arm bootstrap/internal/obj/arm64 bootstrap/internal/obj/ppc64 bootstrap/internal/obj/x86 bootstrap/asm/internal/lex bootstrap/asm/internal/arch bootstrap/internal/gcprog bootstrap/compile/internal/gc bootstrap/asm/internal/asm bootstrap/asm bootstrap/link/internal/ld bootstrap/compile/internal/amd64 bootstrap/compile/internal/arm bootstrap/compile/internal/arm64 bootstrap/compile/internal/ppc64 bootstrap/compile/internal/x86 bootstrap/link/internal/amd64 bootstrap/compile bootstrap/link/internal/arm bootstrap/link/internal/arm64 bootstrap/link/internal/ppc64 bootstrap/link/internal/x86 bootstrap/link # Building go_bootstrap for host, plan9/386. runtime panic: runtime error: floating point error [signal 0x5 code=0x18837950 addr=0x8e826 pc=0x1f3f87] goroutine 1 [running]: bootstrap/compile/internal/big.nat.string(0x10b52000, 0x10, 0x16, 0x3511a8, 0xa, 0x0, 0x0) /usr/local/386/go1.5/src/cmd/compile/internal/big/natconv.go:265 +0x117 bootstrap/compile/internal/big.nat.decimalString(0x10b52000, 0x10, 0x16, 0x0, 0x0) /usr/local/386/go1.5/src/cmd/compile/internal/big/natconv.go:241 +0x6c bootstrap/compile/internal/big.(*Float).fmtB(0x10b769c0, 0x154f35a0, 0x0, 0xa, 0x0, 0x0, 0x0) /usr/local/386/go1.5/src/cmd/compile/internal/big/ftoa.go:258 +0x136 bootstrap/compile/internal/big.(*Float).Append(0x10b769c0, 0x154f35a0, 0x0, 0xa, 0x62, 0x0, 0x0, 0x0, 0x0) /usr/local/386/go1.5/src/cmd/compile/internal/big/ftoa.go:73 +0x249 bootstrap/compile/internal/big.(*Float).Text(0x10b769c0, 0x154f3562, 0x0, 0x0, 0x0) /usr/local/386/go1.5/src/cmd/compile/internal/big/ftoa.go:46 +0x98 bootstrap/compile/internal/gc.Fconv(0x10b769c0, 0x0, 0x0, 0x0) /usr/local/386/go1.5/src/cmd/compile/internal/gc/mparith3.go:208 +0x6b bootstrap/compile/internal/gc.Vconv(0x2f0360, 0x10b769c0, 0x8, 0x0, 0x0) /usr/local/386/go1.5/src/cmd/compile/internal/gc/fmt.go:327 +0x544 bootstrap/compile/internal/gc.dumpasmhdr() /usr/local/386/go1.5/src/cmd/compile/internal/gc/export.go:544 +0x748 bootstrap/compile/internal/gc.Main() /usr/local/386/go1.5/src/cmd/compile/internal/gc/lex.go:495 +0x19c0 bootstrap/compile/internal/x86.Main() /usr/local/386/go1.5/src/cmd/compile/internal/x86/galign.go:108 +0x5ff main.main() /usr/local/386/go1.5/src/cmd/compile/main.go:24 +0x9a go tool dist: FAILED: /usr/local/386/go1.5/pkg/tool/plan9_386/compile -pack -o /tmp/go-tool-dist-289352163/_go_.a -p runtime -+ -asmhdr /tmp/go-tool-dist-289352163/go_asm.h /usr/local/386/go1.5/src/runtime/alg.go /usr/local/386/go1.5/src/runtime/arch1_386.go /usr/local/386/go1.5/src/runtime/arch_386.go /usr/local/386/go1.5/src/runtime/atomic_386.go /usr/local/386/go1.5/src/runtime/atomic_pointer.go /usr/local/386/go1.5/src/runtime/cgo.go /usr/local/386/go1.5/src/runtime/cgocall.go /usr/local/386/go1.5/src/runtime/cgocallback.go /usr/local/386/go1.5/src/runtime/chan.go /usr/local/386/go1.5/src/runtime/compiler.go /usr/local/386/go1.5/src/runtime/complex.go /usr/local/386/go1.5/src/runtime/cpuprof.go /usr/local/386/go1.5/src/runtime/cputicks.go /usr/local/386/go1.5/src/runtime/debug.go /usr/local/386/go1.5/src/runtime/defs_plan9_386.go /usr/local/386/go1.5/src/runtime/env_plan9.go /usr/local/386/go1.5/src/runtime/error.go /usr/local/386/go1.5/src/runtime/extern.go /usr/local/386/go1.5 /src/runtime/hash32.go /usr/local/386/go1.5/src/runtime/hashmap.go /usr/local/386/go1.5/src/runtime/hashmap_fast.go /usr/local/386/go1.5/src/runtime/heapdump.go /usr/local/386/go1.5/src/runtime/iface.go /usr/local/386/go1.5/src/runtime/lfstack.go /usr/local/386/go1.5/src/runtime/lfstack_32bit.go /usr/local/386/go1.5/src/runtime/lock_sema.go /usr/local/386/go1.5/src/runtime/malloc.go
Re: [9fans] Go on Plan 9?
> I'm looking at the directions in a (cached copy) of > http://plan9.bell-labs.com/wiki/plan9/Staying_up_to_date/index.html... > > Is that still valid? What's the canonical procedure these days for updating > a system? > > If that's roughly correct ... I'm running a single Plan 9 machine, combined > CPU and fileserver ... I run that command as the bootes user on the system > console? This is a bit more complicated because of two reasons: 1. The plan9.bell-labs.com server is currently down. 2. Your system is too old, and running the new binaries will require a new kernel with the nsec syscall. I think the easiest for you would be to apply this patch: % hget http://9legacy.org/9legacy/patch/9fs-9p.io.diff | ape/patch -p0 Then, install the new kernel binaries to get the new nsec syscall: % 9fs sources % 9fat: % cp /n/sources/plan9/386/9pcf /n/9fat % cp /n/sources/plan9/386/9pccpu /n/9fat % hget http://www.9legacy.org/download/kernel/9pccpuf >/n/9fat % unmount /n/9fat Then, reboot your machine to run the new kernel. Finally, update your system: % /usr/glenda/bin/rc/pull -- David du Colombier
Re: [9fans] Go on Plan 9?
> Note: I'm running 9front. I can build on amd64 but not 386. Last attempt > was 1.5 on 386, bootstrapped with 1.4.2: > > dl; go version > go version go1.4.2 plan9/386 > dl; GOROOT_BOOTSTRAP=/usr/local/go > dl; ./make.rc > # Building Go bootstrap tool. > cmd/dist > > # Building Go toolchain using /usr/local/go. > bootstrap/internal/obj > bootstrap/asm/internal/flags > bootstrap/compile/internal/big > bootstrap/internal/obj/arm > bootstrap/internal/obj/arm64 > bootstrap/internal/obj/ppc64 > bootstrap/internal/obj/x86 > bootstrap/asm/internal/lex > bootstrap/asm/internal/arch > bootstrap/internal/gcprog > bootstrap/compile/internal/gc > bootstrap/asm/internal/asm > bootstrap/asm > bootstrap/link/internal/ld > bootstrap/compile/internal/amd64 > bootstrap/compile/internal/arm > bootstrap/compile/internal/arm64 > bootstrap/compile/internal/ppc64 > bootstrap/compile/internal/x86 > bootstrap/link/internal/amd64 > bootstrap/compile > bootstrap/link/internal/arm > bootstrap/link/internal/arm64 > bootstrap/link/internal/ppc64 > bootstrap/link/internal/x86 > bootstrap/link > > # Building go_bootstrap for host, plan9/386. > runtime > panic: runtime error: floating point error > [signal 0x5 code=0x18837950 addr=0x8e826 pc=0x1f3f87] > > goroutine 1 [running]: > bootstrap/compile/internal/big.nat.string(0x10b52000, 0x10, 0x16, > 0x3511a8, 0xa, 0x0, 0x0) > > /usr/local/386/go1.5/src/cmd/compile/internal/big/natconv.go:265 +0x117 > bootstrap/compile/internal/big.nat.decimalString(0x10b52000, 0x10, > 0x16, 0x0, 0x0) > > /usr/local/386/go1.5/src/cmd/compile/internal/big/natconv.go:241 +0x6c > bootstrap/compile/internal/big.(*Float).fmtB(0x10b769c0, 0x154f35a0, > 0x0, 0xa, 0x0, 0x0, 0x0) > /usr/local/386/go1.5/src/cmd/compile/internal/big/ftoa.go:258 > +0x136 > bootstrap/compile/internal/big.(*Float).Append(0x10b769c0, > 0x154f35a0, 0x0, 0xa, 0x62, 0x0, 0x0, 0x0, 0x0) > /usr/local/386/go1.5/src/cmd/compile/internal/big/ftoa.go:73 > +0x249 > bootstrap/compile/internal/big.(*Float).Text(0x10b769c0, 0x154f3562, > 0x0, 0x0, 0x0) > /usr/local/386/go1.5/src/cmd/compile/internal/big/ftoa.go:46 > +0x98 > bootstrap/compile/internal/gc.Fconv(0x10b769c0, 0x0, 0x0, 0x0) > > /usr/local/386/go1.5/src/cmd/compile/internal/gc/mparith3.go:208 +0x6b > bootstrap/compile/internal/gc.Vconv(0x2f0360, 0x10b769c0, 0x8, 0x0, > 0x0) > /usr/local/386/go1.5/src/cmd/compile/internal/gc/fmt.go:327 > +0x544 > bootstrap/compile/internal/gc.dumpasmhdr() > > /usr/local/386/go1.5/src/cmd/compile/internal/gc/export.go:544 +0x748 > bootstrap/compile/internal/gc.Main() > /usr/local/386/go1.5/src/cmd/compile/internal/gc/lex.go:495 > +0x19c0 > bootstrap/compile/internal/x86.Main() > > /usr/local/386/go1.5/src/cmd/compile/internal/x86/galign.go:108 +0x5ff > main.main() > /usr/local/386/go1.5/src/cmd/compile/main.go:24 +0x9a > go tool dist: FAILED: /usr/local/386/go1.5/pkg/tool/plan9_386/compile > -pack -o /tmp/go-tool-dist-289352163/_go_.a -p runtime -+ -asmhdr > /tmp/go-tool-dist-289352163/go_asm.h /usr/local/386/go1.5/src/runtime/alg.go > /usr/local/386/go1.5/src/runtime/arch1_386.go > /usr/local/386/go1.5/src/runtime/arch_386.go > /usr/local/386/go1.5/src/runtime/atomic_386.go > /usr/local/386/go1.5/src/runtime/atomic_pointer.go > /usr/local/386/go1.5/src/runtime/cgo.go > /usr/local/386/go1.5/src/runtime/cgocall.go > /usr/local/386/go1.5/src/runtime/cgocallback.go > /usr/local/386/go1.5/src/runtime/chan.go > /usr/local/386/go1.5/src/runtime/compiler.go > /usr/local/386/go1.5/src/runtime/complex.go > /usr/local/386/go1.5/src/runtime/cpuprof.go > /usr/local/386/go1.5/src/runtime/cputicks.go > /usr/local/386/go1.5/src/runtime/debug.go > /usr/local/386/go1.5/src/runtime/defs_plan9_386.go > /usr/local/386/go1.5/src/runtime/env_plan9.go > /usr/local/386/go1.5/src/runtime/error.go > /usr/local/386/go1.5/src/runtime/extern.go /usr/local/386/go1.5 > /src/runtime/hash32.go /usr/local/386/go1.5/src/runtime/hashmap.go > /usr/local/386/go1.5/src/runtime/hashmap_fast.go > /usr/local/386/go1.5/src/runtime/heapdump.go > /usr/local/386/go1.5/src/runtime/iface.go > /usr/local/386/go1.5/src/runtime/lfstack.go > /usr/local/386/go1.5/src/runtime/lfstack_32bit.go > /usr/local/386/go1.5/src/runtime/lock_sema.go > /usr/local/386/go1.5/src/runtime/malloc.go > /usr/local/386/go1.5/src/runtime/mbarrier.go > /usr/local/386/go1.5/src/runtime/mbitmap.go >
Re: [9fans] Go on Plan 9?
> % 9fs sources > % 9fat: > % cp /n/sources/plan9/386/9pcf /n/9fat > % cp /n/sources/plan9/386/9pccpu /n/9fat > % hget http://www.9legacy.org/download/kernel/9pccpuf >/n/9fat Of course, I mean: hget http://www.9legacy.org/download/kernel/9pccpuf >/n/9fat/9pccpuf -- David du Colombier
Re: [9fans] Go on Plan 9?
Also the ports tree[1] version of golang should install fine. I haven't tried it in a while, but also haven't changed it so it should work. That will grab the ca certs and install (I think) 1.3. -- Veety
Re: [9fans] Go on Plan 9?
Answering my own silly question, on my fossil-based system, running the following command on the console as the bootes user seems to get the update process running: replica/pull -v /dist/replica/network I'll wait for this to complete and then give building Go another shot. Thanks for answering my shot in the dark! Thanks, Sean On Tue, Jan 26, 2016 at 5:16 PM, Sean Caronwrote: > Thanks, Skip. That would follow; this system is probably straight Fourth > Edition, certainly an old ISO... > > I've never been 100% clear on the process for running updates; can I bring > myself up to current from where I'm at now and not have to reload or build > a fresh system? It's a VM and I can snapshot so I'm willing to give > anything a try ... > > I'm looking at the directions in a (cached copy) of > http://plan9.bell-labs.com/wiki/plan9/Staying_up_to_date/index.html... > > Is that still valid? What's the canonical procedure these days for > updating a system? > > If that's roughly correct ... I'm running a single Plan 9 machine, > combined CPU and fileserver ... I run that command as the bootes user on > the system console? > > Thanks! > > Sean > > > On Tue, Jan 26, 2016 at 5:05 PM, Skip Tavakkolian < > skip.tavakkol...@gmail.com> wrote: > >> All the errors seem related to the old Rune size. I suspect you're >> running an old system and it's likely to not have nsec and tsemacquire >> syscalls either. >> >> If you believe the system is up-to-date, you can cross compile a simple >> Go program using 1.5 or later targeting GOOS=plan9 GOARCH=386 from a >> Linux/OSX or Windows box and see if it runs on your system. That might >> give you more info. >> >> >> >> On Tue, Jan 26, 2016 at 1:44 PM Sean Caron wrote: >> >>> Hi all, >>> >>> I've been getting interested in programming in Go recently and it's my >>> understanding that at some point in time, Plan 9 was a supported >>> environment in which one could bootstrap and use Go? >>> >>> I've tried a few different versions; 1.2.2, 1.4.2, 1.5.2, just following >>> the directions that I found on a blog somewhere, i.e: >>> >>> tar xf go 1.4.2.tar >>> cd go-go1.4.2/src >>> ./all.rc >>> >>> But it fails almost immediately trying to bootstrap Go: >>> >>> cpu% ./all.rc >>> # Building C bootstrap tool. >>> cmd/dist >>> >>> # Building compilers and Go bootstrap tool for host, plan9/386. >>> lib9 >>> cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:226 >>> /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 >>> /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 >>> /usr/scaron/go-go1.4.2/include/plan9/../fmt.h:21 >>> /usr/scaron/go-go1.4.2/include/plan9/fmt.h:5 >>> /usr/scaron/go-go1.4.2/include/plan9/libc.h:6 >>> /usr/scaron/go-go1.4.2/src/lib9/flag.c:6 Unterminated string or char const >>> >>> I get a fair number of these errors for various header files, then some >>> more worrisome output: >>> >>> /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:152] >>> external redeclaration of: Rune >>> TYPEDEF UINT >>> /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:152] >>> TYPEDEF USHORT >>> /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:21] >>> /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/flag.c:153] >>> external redeclaration of: Rune >>> TYPEDEF UINT >>> /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/flag.c:153] >>> TYPEDEF USHORT >>> /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/flag.c:22] >>> cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:227 >>> /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 >>> /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 >>> /usr/scaron/go-go1.4.2/include/plan9/libc.h:7 >>> /usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:20 Unterminated string or >>> char const >>> go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 >>> -D__SIZE_TYPE__=ulong -I/usr/scaron/go-go1.4.2/include/plan9 >>> -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I >>> /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/dorfmt.8 >>> /usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c: >>> '/usr/scaron/go-go1.4.2/pkg/obj/plan9_386/lib9.a' does not exist >>> go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 >>> -D__SIZE_TYPE__=ulong -I/usr/scaron/go-go1.4.2/include/plan9 >>> -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I >>> /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/flag.8 >>> /usr/scaron/go-go1.4.2/src/lib9/flag.c: >>> '/usr/scaron/go-go1.4.2/pkg/obj/plan9_386/lib9.a' does not exist >>> cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:227 >>> /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 >>> /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 >>> /usr/scaron/go-go1.4.2/include/plan9/libc.h:7 >>> /usr/scaron/go-go1.4.2/src/lib9/fmt/dofmt.c:20 Unterminated string or
Re: [9fans] Go on Plan 9?
Sean, David's (0intro) instructions are the right way to do it. If I recall correctly, if you want to update by rebuilding from updated sources, there's a careful dance that needs to happen for the transition from old Rune size to the new. Geoff sent out a note to 9fans outlining the steps at that time; you might be able to find it on 9fans archive (which unfortunately is not what it used to be). -Skip On Tue, Jan 26, 2016 at 5:40 PM Sean Caronwrote: > Answering my own silly question, on my fossil-based system, running the > following command on the console as the bootes user seems to get the update > process running: > > replica/pull -v /dist/replica/network > > I'll wait for this to complete and then give building Go another shot. > Thanks for answering my shot in the dark! > > Thanks, > > Sean > > > On Tue, Jan 26, 2016 at 5:16 PM, Sean Caron wrote: > >> Thanks, Skip. That would follow; this system is probably straight Fourth >> Edition, certainly an old ISO... >> >> I've never been 100% clear on the process for running updates; can I >> bring myself up to current from where I'm at now and not have to reload or >> build a fresh system? It's a VM and I can snapshot so I'm willing to give >> anything a try ... >> >> I'm looking at the directions in a (cached copy) of >> http://plan9.bell-labs.com/wiki/plan9/Staying_up_to_date/index.html... >> >> Is that still valid? What's the canonical procedure these days for >> updating a system? >> >> If that's roughly correct ... I'm running a single Plan 9 machine, >> combined CPU and fileserver ... I run that command as the bootes user on >> the system console? >> >> Thanks! >> >> Sean >> >> >> On Tue, Jan 26, 2016 at 5:05 PM, Skip Tavakkolian < >> skip.tavakkol...@gmail.com> wrote: >> >>> All the errors seem related to the old Rune size. I suspect you're >>> running an old system and it's likely to not have nsec and tsemacquire >>> syscalls either. >>> >>> If you believe the system is up-to-date, you can cross compile a simple >>> Go program using 1.5 or later targeting GOOS=plan9 GOARCH=386 from a >>> Linux/OSX or Windows box and see if it runs on your system. That might >>> give you more info. >>> >>> >>> >>> On Tue, Jan 26, 2016 at 1:44 PM Sean Caron wrote: >>> Hi all, I've been getting interested in programming in Go recently and it's my understanding that at some point in time, Plan 9 was a supported environment in which one could bootstrap and use Go? I've tried a few different versions; 1.2.2, 1.4.2, 1.5.2, just following the directions that I found on a blog somewhere, i.e: tar xf go 1.4.2.tar cd go-go1.4.2/src ./all.rc But it fails almost immediately trying to bootstrap Go: cpu% ./all.rc # Building C bootstrap tool. cmd/dist # Building compilers and Go bootstrap tool for host, plan9/386. lib9 cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:226 /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 /usr/scaron/go-go1.4.2/include/plan9/../fmt.h:21 /usr/scaron/go-go1.4.2/include/plan9/fmt.h:5 /usr/scaron/go-go1.4.2/include/plan9/libc.h:6 /usr/scaron/go-go1.4.2/src/lib9/flag.c:6 Unterminated string or char const I get a fair number of these errors for various header files, then some more worrisome output: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:152] external redeclaration of: Rune TYPEDEF UINT /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:152] TYPEDEF USHORT /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:21] /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/flag.c:153] external redeclaration of: Rune TYPEDEF UINT /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/flag.c:153] TYPEDEF USHORT /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/flag.c:22] cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:227 /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 /usr/scaron/go-go1.4.2/include/plan9/libc.h:7 /usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:20 Unterminated string or char const go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=1 -D__SIZE_TYPE__=ulong -I/usr/scaron/go-go1.4.2/include/plan9 -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/dorfmt.8 /usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c: '/usr/scaron/go-go1.4.2/pkg/obj/plan9_386/lib9.a' does not exist go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9
Re: [9fans] Go on Plan 9?
Yeah, thank goodness for snapshots :O Running replica/pull didn't turn out so good for my current running system. It looks like it might make the most sense to just archive my home directory and reload a fresh VM ... Where are they keeping the most current installation ISO these days? I'm just not sure of what's canonical now that the old bell-labs.com domain is offline. Thanks! Sean On Tue, Jan 26, 2016 at 8:52 PM, Skip Tavakkolian < skip.tavakkol...@gmail.com> wrote: > Sean, > > David's (0intro) instructions are the right way to do it. If I recall > correctly, if you want to update by rebuilding from updated sources, > there's a careful dance that needs to happen for the transition from old > Rune size to the new. Geoff sent out a note to 9fans outlining the steps > at that time; you might be able to find it on 9fans archive (which > unfortunately is not what it used to be). > > -Skip > > > On Tue, Jan 26, 2016 at 5:40 PM Sean Caronwrote: > >> Answering my own silly question, on my fossil-based system, running the >> following command on the console as the bootes user seems to get the update >> process running: >> >> replica/pull -v /dist/replica/network >> >> I'll wait for this to complete and then give building Go another shot. >> Thanks for answering my shot in the dark! >> >> Thanks, >> >> Sean >> >> >> On Tue, Jan 26, 2016 at 5:16 PM, Sean Caron wrote: >> >>> Thanks, Skip. That would follow; this system is probably straight Fourth >>> Edition, certainly an old ISO... >>> >>> I've never been 100% clear on the process for running updates; can I >>> bring myself up to current from where I'm at now and not have to reload or >>> build a fresh system? It's a VM and I can snapshot so I'm willing to give >>> anything a try ... >>> >>> I'm looking at the directions in a (cached copy) of >>> http://plan9.bell-labs.com/wiki/plan9/Staying_up_to_date/index.html... >>> >>> Is that still valid? What's the canonical procedure these days for >>> updating a system? >>> >>> If that's roughly correct ... I'm running a single Plan 9 machine, >>> combined CPU and fileserver ... I run that command as the bootes user on >>> the system console? >>> >>> Thanks! >>> >>> Sean >>> >>> >>> On Tue, Jan 26, 2016 at 5:05 PM, Skip Tavakkolian < >>> skip.tavakkol...@gmail.com> wrote: >>> All the errors seem related to the old Rune size. I suspect you're running an old system and it's likely to not have nsec and tsemacquire syscalls either. If you believe the system is up-to-date, you can cross compile a simple Go program using 1.5 or later targeting GOOS=plan9 GOARCH=386 from a Linux/OSX or Windows box and see if it runs on your system. That might give you more info. On Tue, Jan 26, 2016 at 1:44 PM Sean Caron wrote: > Hi all, > > I've been getting interested in programming in Go recently and it's my > understanding that at some point in time, Plan 9 was a supported > environment in which one could bootstrap and use Go? > > I've tried a few different versions; 1.2.2, 1.4.2, 1.5.2, just > following the directions that I found on a blog somewhere, i.e: > > tar xf go 1.4.2.tar > cd go-go1.4.2/src > ./all.rc > > But it fails almost immediately trying to bootstrap Go: > > cpu% ./all.rc > # Building C bootstrap tool. > cmd/dist > > # Building compilers and Go bootstrap tool for host, plan9/386. > lib9 > cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:226 > /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 > /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 > /usr/scaron/go-go1.4.2/include/plan9/../fmt.h:21 > /usr/scaron/go-go1.4.2/include/plan9/fmt.h:5 > /usr/scaron/go-go1.4.2/include/plan9/libc.h:6 > /usr/scaron/go-go1.4.2/src/lib9/flag.c:6 Unterminated string or char const > > I get a fair number of these errors for various header files, then > some more worrisome output: > > /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:152] > external redeclaration of: Rune > TYPEDEF UINT > /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:152] > TYPEDEF USHORT > /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorfmt.c:21] > /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/flag.c:153] > external redeclaration of: Rune > TYPEDEF UINT > /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/flag.c:153] > TYPEDEF USHORT > /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/flag.c:22] > cpp: /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:227 > /usr/scaron/go-go1.4.2/include/plan9/../utf.h:1 >