From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: Date: Tue, 26 Jan 2016 20:40:40 -0500 Message-ID: From: Sean Caron To: Skip Tavakkolian , Sean Caron Content-Type: multipart/alternative; boundary=047d7bf0c48abcb1c7052a46e34d Cc: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Subject: Re: [9fans] Go on Plan 9? Topicbox-Message-UUID: 801bf5dc-ead9-11e9-9d60-3106f5b1d025 --047d7bf0c48abcb1c7052a46e34d Content-Type: text/plain; charset=UTF-8 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 >>> >>> >>> > --047d7bf0c48abcb1c7052a46e34d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
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/re= plica/network

I'll wait for this to complete a= nd then give building Go another shot. Thanks for answering my shot in the = dark!

Thanks,

Sean
<= div>

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, certa= inly 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=C2= =A0http://plan9.bell-labs.com/wiki/plan9/Staying_up= _to_date/index.html...

Is that still valid? Wh= at'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, 2= 016 at 5:05 PM, Skip Tavakkolian <skip.tavakkolian@gmail.com&= gt; wrote:
All th= e 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 e= ither.

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



On Tue, = Jan 26, 2016 at 1:44 PM Sean Caron <scaron@umich.edu> wrote:
Hi all,

I've been ge= tting interested in programming in Go recently and it's my understandin= g that at some point in time, Plan 9 was a supported environment in which o= ne could bootstrap and use Go?

I've tried a fe= w different versions; 1.2.2, 1.4.2, 1.5.2, just following the directions th= at I found on a blog somewhere, i.e:

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

<= div>But it fails almost immediately trying to bootstrap Go:

<= /div>
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/inclu= de/plan9/../utf.h:1 /usr/scaron/go-go1.4.2/include/plan9/utf.h:5 /usr/scaro= n/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, th= en some more worrisome output:

/usr/scaron/go= -go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/s= rc/lib9/fmt/dorfmt.c:152] external redeclaration of: Rune
TYPEDEF UINT /usr/scaron/go-go1.4.2/i= nclude/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go1.4.2/src/lib9/fm= t/dorfmt.c:152]
TYPE= DEF 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/../../s= rc/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/plan= 9/libc.h:7 /usr/scaron/go-go1.4.2/src/lib9/fmt/charstod.c:20 Unterminated s= tring or char const
go tool dist: FAILED: /bin/8c -FTVwp -DPLAN9 = -D__STDC__=3D1 -D__SIZE_TYPE__=3Dulong -I/usr/scaron/go-go1.4.2/include/pla= n9 -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/dor= fmt.c: '/usr/scaron/go-go1.4.2/pkg/obj/plan9_386/lib9.a' does not e= xist
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/scaro= n/go-go1.4.2/include/plan9/386 -DPLAN9PORT -I /usr/scaron/go-go1.4.2/src/li= b9 -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: /us= r/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/ut= f.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/sc= aron/go-go1.4.2/include/plan9/../../src/lib9/utf/utf.h:19[/usr/scaron/go-go= 1.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/sr= c/lib9/fmt/charstod.c:152]
= TYPEDEF USHORT /386/include/u.h:11[/usr/scaron/go-go1.4.2/src/lib9/f= mt/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/ut= f.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/scaro= n/go-go1.4.2/include/plan9 -I/usr/scaron/go-go1.4.2/include/plan9/386 -DPLA= N9PORT -I /usr/scaron/go-go1.4.2/src/lib9 -o $WORK/charstod.8 /usr/scaron/g= o-go1.4.2/src/lib9/fmt/charstod.c: '/usr/scaron/go-go1.4.2/pkg/obj/plan= 9_386/lib9.a' does not exist
go tool dist: FAILED: /bin/8c -F= TVwp -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/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 fail= s and I drop back to the rc prompt.

While the exam= ple 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 b= uild.

Is my Plan 9 installation "too old"= ;? I'm using pretty bog-standard Fourth Edition on this particular inst= ance; 9atom doesn't seem to get along with VMware ESXi (at least, not l= ast time I checked).

Any help greatly appreciated!= I'd love to be able to use Go within Plan 9.

= Thanks,

Sean




--047d7bf0c48abcb1c7052a46e34d--