Amongst other things, you tried to clone the repository to
~/go and edited
~/.bashrc to point
Read the Go Getting Started instructions carefully. Either copy and paste commands or check what you type very carefully; check input very carefully before you hit enter. For commands, the
$ sign represents the command prompt, don't type it. Remember, Linux is case sensitive and the distinction between
\ is important. Check the output of commands very carefully; does the ouput make sense. Run diagnostic commands like
uname. When you see scroll bars in a Stack Overflow answer, scroll through all the code and output.
First, set up
$ gedit ~/.bashrc export GOROOT=$HOME/go export GOARCH=amd64 export GOOS=linux export GOBIN=$GOROOT/bin export PATH=$PATH:$GOBIN
Close any open terminal windows and then open a new terminal window to check the new
~./bashrc and other values.
$ env | grep '^\(GO\|HOME=\|PATH=\)' GOBIN=/home/peter/go/bin PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/peter/go/bin GOARCH=amd64 HOME=/home/peter GOROOT=/home/peter/go GOOS=linux $ cd $GOROOT/src $ pwd /home/peter/go/src $ uname -a Linux peter 2.6.32-31-generic #61-Ubuntu SMP Fri Apr 8 18:25:51 UTC 2011 x86_64 GNU/Linux
Then clone the repository to
$GOROOT and you will clone to and compile from the same place.
$ hg clone -u release https://go.googlecode.com/hg/ $GOROOT requesting all changes adding changesets adding manifests adding file changes added 8441 changesets with 31916 changes to 4421 files (+1 heads) updating to branch release-branch.r57 2702 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd $GOROOT/src $ ./all.bash < SNIP OUTPUT > ALL TESTS PASSED --- Installed Go for linux/amd64 in /home/peter/go. Installed commands in /home/peter/go/bin. The compiler is 6g. $ which 6g /home/peter/go/bin/6g
You haven't posted your output, so I can only guess what your problems are.
For example, you say "the directory is Go", it should be "go"; since Linux is case sensitive, "Go" and "go" are different.
If you omit the
$GOROOT destination from the
hg clone command or
$GOROOT is not set,
hg clone will default to the
hg directory. For example,
$ env | grep '^GOROOT' GOROOT= $ hg clone -u release https://go.googlecode.com/hg/ $GOROOT destination directory: hg
Since you have
GOARCH=amd64, you should be running a 64-bit version of Linux Mint on an
x86_64 processor. What does your
uname -a output say? You want the
6l programs to compile and link on an
x86_64 processor, which should be in your
$GOBIN directory, which should be in in your
$ env | grep '^\(GOBIN\|PATH=\)' GOBIN=/home/peter/go/bin PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/peter/go/bin $ which 6g /home/peter/go/bin/6g
You should also have seen this by reading the end of your
./all.bash command output.
ALL TESTS PASSED --- Installed Go for linux/amd64 in /home/peter/go. Installed commands in /home/peter/go/bin. The compiler is 6g.