From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: Date: Tue, 26 Jan 2016 21:24:13 -0500 Message-ID: From: Sean Caron To: Skip Tavakkolian , Sean Caron Content-Type: multipart/alternative; boundary=001a1148fdbe84be9c052a477fdb Cc: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Subject: Re: [9fans] Go on Plan 9? Topicbox-Message-UUID: 8023ffc0-ead9-11e9-9d60-3106f5b1d025 --001a1148fdbe84be9c052a477fdb Content-Type: text/plain; charset=UTF-8 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.tavakkolian@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 Caron wrote: > >> 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.tavakkolian@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 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 >>>>> >>>>> >>>>> >>> >> --001a1148fdbe84be9c052a477fdb Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Yeah, thank goodness for snapshots :O Running replica/pull= didn't turn out so good for my current running system. It looks like i= t might make the most sense to just archive my home directory and reload a = fresh VM ...

Where are they keeping the most current ins= tallation 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 &= lt;skip.tav= akkolian@gmail.com> wrote:
=
Sean,

David's (0intro) i= nstructions are the right way to do it.=C2=A0 If I recall correctly, if you= want to update by rebuilding from updated sources, there's a careful d= ance that needs to happen for the transition from old Rune size to the new.= =C2=A0 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).
<= br>
-Skip


On= Tue, Jan 26, 2016 at 5:40 PM Sean Caron <scaron@umich.edu> wrote:
Answering my own silly question, on m= y fossil-based system, running the following command on the console as the = bootes user seems to get the update process running:

rep= lica/pull -v /dist/replica/network

I'll wait f= or this to complete and then give building Go another shot. Thanks for answ= ering my shot in the dark!

Thanks,

<= /div>
Sean


On Tue, Jan 26, 2016 at 5:16 PM, Sean Caron <scaron= @umich.edu> wrote:
Thanks, Skip. That would follow; this system is probably straight = Fourth Edition, certainly an old ISO...

I've never b= een 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 anythin= g a try ...

I'm looking at the directions in a= (cached copy) of=C2=A0http://plan9.bell-labs.com/w= iki/plan9/Staying_up_to_date/index.html...

Is = that still valid? What's the canonical procedure these days for updatin= g a system?

If that's roughly correct ... I= 9;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 Tavakk= olian <skip.tavakkolian@gmail.com> wrote:
All the errors seem related to th= e old Rune size. I suspect you're running an old system and it's li= kely to not have nsec and tsemacquire syscalls either.

I= f you believe the system is up-to-date, you can cross compile a simple Go p= rogram using 1.5 or later targeting GOOS=3Dplan9 GOARCH=3D386 from a Linux/= OSX or Windows box and see if it runs on your system.=C2=A0 That might give= you more info.



On Tue, Jan 26, 2016 at 1:44 PM Sea= n Caron <scaron@um= ich.edu> wrote:
Hi all,

I've been getting interested in program= ming in Go recently and it's my understanding that at some point in tim= e, 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 somewh= ere, i.e:

tar xf go 1.4.2.tar
cd go-go1.= 4.2/src
./all.rc

But it fails almost imm= ediately trying to bootstrap Go:

cpu% ./all.r= c
# Building C bootstrap tool.
cmd/dist

<= /div>
# 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/sc= aron/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 Unterm= inated string or char const

I get a fair num= ber of these errors for various header files, then some more worrisome outp= ut:

/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] e= xternal 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]
<= span style=3D"white-space:pre-wrap"> 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/inclu= de/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]
c= pp: /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/p= lan9/utf.h:5 /usr/scaron/go-go1.4.2/include/plan9/libc.h:7 /usr/scaron/go-g= o1.4.2/src/lib9/fmt/charstod.c:20 Unterminated string or char const
go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 -D__STDC__=3D1 -D__SIZE_TYP= E__=3Dulong -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__=3D1 -D__SIZE_TYPE__=3Dulong -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/sca= ron/go-go1.4.2/src/lib9/flag.c: '/usr/scaron/go-go1.4.2/pkg/obj/plan9_3= 86/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 Unt= erminated string or char const
/usr/scaron/go-go1.4.2/include/pla= n9/../../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]<= /div>
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/scar= on/go-go1.4.2/src/lib9/fmt/dofmt.c:152] external redeclaration of: Rune
TYPEDEF UINT /usr/scaro= n/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__=3D1 -D__SIZE_TYPE__=3Dulong -I/usr/scaron/go-go1.4.2/include/plan9 = -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I /usr/scaron/go-go= 1.4.2/src/lib9 -o $WORK/charstod.8 /usr/scaron/go-go1.4.2/src/lib9/fmt/char= stod.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__=3D1= -D__SIZE_TYPE__=3Dulong -I/usr/scaron/go-go1.4.2/include/plan9 -I/usr/scar= on/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I /usr/scaron/go-go1.4.2/src/l= ib9 -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 ver= sion 1.4.2, I believe the failure mode is pretty much the same for both ear= lier and later versions that I've tried to build.

<= div>Is my Plan 9 installation "too old"? I'm using pretty bog= -standard Fourth Edition on this particular instance; 9atom doesn't see= m to get along with VMware ESXi (at least, not last time I checked).
<= div>
Any help greatly appreciated! I'd love to be able to= use Go within Plan 9.

Thanks,

Sean<= /div>





--001a1148fdbe84be9c052a477fdb--