Re: [9fans] Go on Plan 9?

2016-01-26 Thread David du Colombier
> 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?

2016-01-26 Thread lucio
> 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?

2016-01-26 Thread Sean Caron
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?

2016-01-26 Thread sl
>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?

2016-01-26 Thread Kenny Lasse Hoff Levinsen
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?

2016-01-26 Thread Skip Tavakkolian
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:
> 

Re: [9fans] Go on Plan 9?

2016-01-26 Thread Sean Caron
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 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?

2016-01-26 Thread David du Colombier
> 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?

2016-01-26 Thread sl
> 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?

2016-01-26 Thread David du Colombier
> 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?

2016-01-26 Thread David du Colombier
> 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?

2016-01-26 Thread David du Colombier
> % 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?

2016-01-26 Thread Matthew Veety

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?

2016-01-26 Thread Sean Caron
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 -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?

2016-01-26 Thread Skip Tavakkolian
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.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?

2016-01-26 Thread Sean Caron
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 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.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
>