Re: [9fans] Go Plan 9
The following executables are installed into $GOROOT/bin as Plan 9 a.out binaries when you run make -k install inside src/pkg: cgo, ebnflint, gofix, gofmt, gotest, gotype, govet, goyacc, hgpatch. They should be directed somewhere else by setting GOBIN, there is no need to include them in your PATH, the host's native executables are already in place after you build Go. There is a temporary fix to the mmap issue with pkg syscall in my patch queue, it just moves the mmap staff over to syscall_unix.go. Pavel On Sun, Apr 10, 2011 at 8:07 AM, Lucio De Re wrote: >> The new build incantation is: >> >> cd $GOROOT/src/pkg >> make clean >> mkdir -p $GROOT/bin/plan9 >> GOOS=plan9 GOBIN=$GOROOT/bin/plan9 make -k install > > I won't try this until the mmap problem you refer to is resolved, so a > question is in order: are the plan 9 tools essential to the operation > of 8l with GOOS=plan9 and will they be found by default or will one > need to make sure that the PATH is set to find them ahead of the Linux > ones? > > Wait. You are talking about a.out executables, these are specifically > for the Plan 9 environment, aren't they? I guess I need to look for > myself :-) > > Alternatively, is it sufficient to specify a different GOBIN or does > the PATH need to be changed? I think I know the answer to this > question is that the PATH needs changing, but I am normally wrong in > these matters. > > ++L > > >
Re: [9fans] Go Plan 9
> The new build incantation is: > > cd $GOROOT/src/pkg > make clean > mkdir -p $GROOT/bin/plan9 > GOOS=plan9 GOBIN=$GOROOT/bin/plan9 make -k install I won't try this until the mmap problem you refer to is resolved, so a question is in order: are the plan 9 tools essential to the operation of 8l with GOOS=plan9 and will they be found by default or will one need to make sure that the PATH is set to find them ahead of the Linux ones? Wait. You are talking about a.out executables, these are specifically for the Plan 9 environment, aren't they? I guess I need to look for myself :-) Alternatively, is it sufficient to specify a different GOBIN or does the PATH need to be changed? I think I know the answer to this question is that the PATH needs changing, but I am normally wrong in these matters. ++L
[9fans] Go Plan 9
Sorry, Skip was right.. It looks like make install in src/pkg will also build and overwrite some of the cmd tools already in your GOBIN with Plan 9 a.out. This is probably not what you were looking for. The new build incantation is: cd $GOROOT/src/pkg make clean mkdir -p $GROOT/bin/plan9 GOOS=plan9 GOBIN=$GOROOT/bin/plan9 make -k install Pavel On Sat, Apr 9, 2011 at 10:04 PM, Skip Tavakkolian wrote: > Great info! thanks. > -Skip > > On Sat, Apr 9, 2011 at 11:53 AM, Pavel Zholkover wrote: >> The mainline go will not compile syscall after the last post-weekly tag due >> to the mmap support. >> Russ wrote he'll look into it next week. >> >> I try to maintain the bitbucket patch que with CLs still being reviewed >> (Anthony's time changes for example) so people can test them as a whole. >> >> There is no need for two different GOBINs, the same 8g/8l you built for eg. >> Linux are able to produce Linux ELFs and Plan 9 a.out simply by changing to >> GOOS environment variable. >> >> Pavel >> >> On Apr 9, 2011 9:26 PM, "Skip Tavakkolian" >> wrote: >> >
Re: [9fans] Go Plan 9
Great info! thanks. -Skip On Sat, Apr 9, 2011 at 11:53 AM, Pavel Zholkover wrote: > The mainline go will not compile syscall after the last post-weekly tag due > to the mmap support. > Russ wrote he'll look into it next week. > > I try to maintain the bitbucket patch que with CLs still being reviewed > (Anthony's time changes for example) so people can test them as a whole. > > There is no need for two different GOBINs, the same 8g/8l you built for eg. > Linux are able to produce Linux ELFs and Plan 9 a.out simply by changing to > GOOS environment variable. > > Pavel > > On Apr 9, 2011 9:26 PM, "Skip Tavakkolian" > wrote: >
Re: [9fans] Go Plan 9
The mainline go will not compile syscall after the last post-weekly tag due to the mmap support. Russ wrote he'll look into it next week. I try to maintain the bitbucket patch que with CLs still being reviewed (Anthony's time changes for example) so people can test them as a whole. There is no need for two different GOBINs, the same 8g/8l you built for eg. Linux are able to produce Linux ELFs and Plan 9 a.out simply by changing to GOOS environment variable. Pavel On Apr 9, 2011 9:26 PM, "Skip Tavakkolian" wrote:
Re: [9fans] Go Plan 9
Try make -k install like in the wiki instructions. This should continue building packages even if some fail to compile. On Apr 9, 2011 8:53 PM, "Sergey Kish" wrote: > Hello, > > I'm unable to make go plan9 crosscompiler. > Can you help me? > > # I use patched repo > hg qclone https://bitbucket.org/paulzhol/golang-plan9-runtime-patches go > cd go > hg qpush -a > > # build as usual > export GOROOT=`pwd` > export GOOS=linux > export GOBIN="$GOROOT/bin" > export PATH="$GOBIN:$PATH" > > mkdir -p "$GOROOT/bin" > cd "$GOROOT/src" > . ./make.bash > > # prepare pkgs > cd $GOROOT/src/pkg > make clean > export GOOS=plan9 > make > > # and get > make -C net install > make[1]: Entering directory `/home/sergeykish/abs/go/src/go-build/src/pkg/net' > make[1]: *** No rule to make target `fd_plan9.go', needed by `_go_.8'. Stop. > make[1]: Leaving directory `/home/sergeykish/abs/go/src/go-build/src/pkg/net' > > What now? >
Re: [9fans] Go Plan 9
is there a reason you didn't build it from the official Go sources? i only needed to make a couple of tweaks (see the patch below) to build it. a couple of things to watch out for: - make sure you have two different GOBIN's; one for your local Linux box and the other for making the Plan 9 binaries - be sure to have the right GOBIN in the first part of your PATH for your target environment i use drawterm from the build box and then i can execute Plan 9 binaries produced by 8[gl] from /mnt/term/ -Skip $ hg diff diff -r b002b8e25d25 src/pkg/Makefile --- a/src/pkg/Makefile Tue Apr 05 18:07:01 2011 -0400 +++ b/src/pkg/Makefile Sat Apr 09 11:18:04 2011 -0700 @@ -106,7 +106,6 @@ image/png\ index/suffixarray\ io\ - io/ioutil\ json\ log\ math\ @@ -139,7 +138,6 @@ sync/atomic\ syscall\ syslog\ - tabwriter\ template\ testing\ testing/iotest\ @@ -206,6 +204,14 @@ NOTEST+=net syslog endif +# Disable packages that plan9 doesn't support yet +ifneq ($(GOOS),plan9) +DIRS+=\ + tabwriter\ + io/ioutil\ + +endif + # Disable tests that windows cannot run yet. ifeq ($(GOOS),windows) NOTEST+=os/signal# no signals diff -r b002b8e25d25 src/pkg/path/filepath/Makefile --- a/src/pkg/path/filepath/MakefileTue Apr 05 18:07:01 2011 -0400 +++ b/src/pkg/path/filepath/MakefileSat Apr 09 11:18:04 2011 -0700 @@ -15,6 +15,9 @@ GOFILES_darwin=\ path_unix.go +GOFILES_plan9=\ + path_unix.go + GOFILES_linux=\ path_unix.go diff -r b002b8e25d25 src/pkg/time/Makefile --- a/src/pkg/time/Makefile Tue Apr 05 18:07:01 2011 -0400 +++ b/src/pkg/time/Makefile Sat Apr 09 11:18:04 2011 -0700 @@ -21,6 +21,9 @@ GOFILES_linux=\ zoneinfo_unix.go\ +GOFILES_plan9=\ + zoneinfo_unix.go\ + GOFILES_windows=\ zoneinfo_windows.go\ On Sat, Apr 9, 2011 at 10:51 AM, Sergey Kish wrote: > Hello, > > I'm unable to make go plan9 crosscompiler. > Can you help me? > > # I use patched repo > hg qclone https://bitbucket.org/paulzhol/golang-plan9-runtime-patches go > cd go > hg qpush -a > > # build as usual > export GOROOT=`pwd` > export GOOS=linux > export GOBIN="$GOROOT/bin" > export PATH="$GOBIN:$PATH" > > mkdir -p "$GOROOT/bin" > cd "$GOROOT/src" > . ./make.bash > > # prepare pkgs > cd $GOROOT/src/pkg > make clean > export GOOS=plan9 > make > > # and get > make -C net install > make[1]: Entering directory `/home/sergeykish/abs/go/src/go-build/src/pkg/net' > make[1]: *** No rule to make target `fd_plan9.go', needed by `_go_.8'. Stop. > make[1]: Leaving directory `/home/sergeykish/abs/go/src/go-build/src/pkg/net' > > What now? > >
Re: [9fans] Go Plan 9
Hello, I'm unable to make go plan9 crosscompiler. Can you help me? # I use patched repo hg qclone https://bitbucket.org/paulzhol/golang-plan9-runtime-patches go cd go hg qpush -a # build as usual export GOROOT=`pwd` export GOOS=linux export GOBIN="$GOROOT/bin" export PATH="$GOBIN:$PATH" mkdir -p "$GOROOT/bin" cd "$GOROOT/src" . ./make.bash # prepare pkgs cd $GOROOT/src/pkg make clean export GOOS=plan9 make # and get make -C net install make[1]: Entering directory `/home/sergeykish/abs/go/src/go-build/src/pkg/net' make[1]: *** No rule to make target `fd_plan9.go', needed by `_go_.8'. Stop. make[1]: Leaving directory `/home/sergeykish/abs/go/src/go-build/src/pkg/net' What now?
Re: [9fans] Plan 9 port of the Go toolchain
> .../src/cmd/8a/asm.c, around line #900: > > /* This null SHdr must appear before all others */ > sh = newElfShdr(elfstr[ElfStrEmpty]); > > My guess is that this needs to be followed by an instruction to write > out the header, which in fact does not take place. The code is corect. newElfShdr updates a global table. You can delete the "sh = " but not the whole line. > 308c308 > < archreloc(Reloc *r, Sym *s, vlong *val) > --- > > archreloc(Reloc *r, Sym *, vlong *val) If you insert USED(s) as a statement in the body of the function, we can take back the change. Russ
Re: [9fans] Busy mouse WAS: Re: Making read(1) an rc(1) builtin?
> My load is also close to zero, when just moving the mouse. If, for > example, I do a "du -a" in an Acme "win" window, the mouse disappears > and/or becomes unusuably slow until Acme finishes. sounds like a video issue, rather than a mouse issue. i imagine that your machine is just slow. > Acme also hangs for me while retrieving files and directory listings on > /n/sources. Although the mouse remains responsive during that time, > Acme becomes unresponsive... not even selecting text with the button1 > works. that's how it works. acme's threading model means that everything comes to a screeching halt when you load a file. you just don't notice the delay when it's local. > > the mouse, the i would think that the fact that your machine > > is doing 8259-style interrupts has something to do with it. > > No hablo 8259. ?? http://en.wikipedia.org/wiki/Intel_8259 like the reptilian part of your brain, it proves that evolution is a bad housekeeper. - erik
Re: [9fans] Busy mouse WAS: Re: Making read(1) an rc(1) builtin?
erik quanstrom writes: > i ran some actual tests, and it turns out that i can get > 1515 interrupts/sec and 1950 syscalls/sec just by moving my It occurs to me that these values are in the audible range for human hearing. How cool would it be to have something like "stats -a" generate an audible version of system stats?! > usb mouse constantly. the load average is still 0, and the > interrupt time is <= 3% My load is also close to zero, when just moving the mouse. If, for example, I do a "du -a" in an Acme "win" window, the mouse disappears and/or becomes unusuably slow until Acme finishes. Acme also hangs for me while retrieving files and directory listings on /n/sources. Although the mouse remains responsive during that time, Acme becomes unresponsive... not even selecting text with the button1 works. > the mouse, the i would think that the fact that your machine > is doing 8259-style interrupts has something to do with it. No hablo 8259. ?? -- +---+ |E-Mail: smi...@zenzebra.mv.com PGP key ID: BC549F8B| |Fingerprint: 9329 DB4A 30F5 6EDA D2BA 3489 DAB7 555A BC54 9F8B| +---+