From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 References: In-Reply-To: From: Skip Tavakkolian Date: Wed, 27 Jan 2016 01:52:36 +0000 Message-ID: To: Sean Caron Content-Type: multipart/alternative; boundary=001a1143997a04f04a052a470f27 Cc: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Subject: Re: [9fans] Go on Plan 9? Topicbox-Message-UUID: 801fdfa8-ead9-11e9-9d60-3106f5b1d025 --001a1143997a04f04a052a470f27 Content-Type: text/plain; charset=UTF-8 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 >>>> >>>> >>>> >> > --001a1143997a04f04a052a470f27 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
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).

-Skip

<= br>
On Tue, Jan 26, 2016 at 5:40= PM Sean Caron <scaron@umich.edu= > wrote:
Answer= ing 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 G= o another shot. Thanks for answering my shot in the dark!

Thanks,

Sean


On Tue, Jan 26, 2016= at 5:16 PM, Sean Caron <scaron@umich.edu> wrote:
Thanks, Skip. That would follow; th= is system is probably straight Fourth Edition, certainly an old ISO...
=
I've never been 100% clear on the process for running up= dates; can I bring myself up to current from where I'm at now and not h= ave 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=C2=A0http://plan9.bell-labs.com/wiki/plan9/Staying_up_to_date/index.html.= ..

Is that still valid? What's the canonical p= rocedure these days for updating a system?

If that= 's roughly correct ... I'm running a single Plan 9 machine, combine= d CPU and fileserver ... I run that command as the bootes user on the syste= m console?

Thanks!

Sean

<= div>

On Tue, Jan 2= 6, 2016 at 5:05 PM, Skip Tavakkolian <skip.tavakkolian@gmail.com<= /a>> wrote:
Al= l the errors seem related to the old Rune size. I suspect you're runnin= g an old system and it's likely to not have nsec and tsemacquire syscal= ls 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=3Dp= lan9 GOARCH=3D386 from a Linux/OSX or Windows box and see if it runs on you= r system.=C2=A0 That might give you more info.



Hi all,

I've bee= n getting interested in programming in Go recently and it's my understa= nding that at some point in time, Plan 9 was a supported environment in whi= ch 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 direction= s 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:
<= br>
cpu% ./all.rc
# Building C bootstrap tool.
cmd/dist

# Building compilers and Go bootst= rap 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/i= nclude/plan9/../utf.h:1 /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 /usr/s= caron/go-go1.4.2/include/plan9/../fmt.h:21 /usr/scaron/go-go1.4.2/include/p= lan9/fmt.h:5 /usr/scaron/go-go1.4.2/include/plan9/libc.h:6 /usr/scaron/go-g= o1.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/scaro= n/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/lib= 9/fmt/dorfmt.c:152]
= TYPEDEF USHORT /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/fmt/dorf= mt.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 UI= NT /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/sc= aron/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 Unterminat= ed string or char const
go tool dist: FAILED: /bin/8c -FTVwp -DPL= AN9 -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/scaro= n/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 n= ot 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/s= rc/lib9 -o $WORK/flag.8 /usr/scaron/go-go1.4.2/src/lib9/flag.c: '/usr/s= caron/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/sc= aron/go-go1.4.2/include/plan9/../utf.h:1 /usr/scaron/go-go1.4.2/include/pla= n9/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
/u= sr/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/scaro= n/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/l= ib9/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] ext= ernal redeclaration of: Rune
TYPEDEF UINT /usr/scaron/go-go1.4.2/include/plan9/../../src/lib9/u= tf/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: FA= ILED: /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/charstod.8 /usr/sca= ron/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__=3D1 -D__SIZE_TYPE__=3Dulong -I/usr/scaron/go-g= o1.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 p= retty 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 appreci= ated! I'd love to be able to use Go within Plan 9.

=
Thanks,

Sean




--001a1143997a04f04a052a470f27--