unable to build golang on FreeBSD

343 views
Skip to first unread message

Ganbold Tsagaankhuu

unread,
Aug 17, 2015, 6:33:07 AM8/17/15
to golang-nuts
HEAD is now at 3c43158 sort: Fix typo in Stable() comment
root@bsd:~tsgan/golang/go/src # git pull
Already up-to-date.
root@bsd:~tsgan/golang/go/src # ./make.bash
##### Building Go bootstrap tool.
cmd/dist
# runtime
/root/go1.4/src/runtime/cgocall.go:138: undefined: m
/root/go1.4/src/runtime/chan.go:13: undefined: hchan
/root/go1.4/src/runtime/chan.go:13: invalid expression unsafe.Sizeof(composite literal)
/root/go1.4/src/runtime/chan.go:13: undefined: hchan
/root/go1.4/src/runtime/chan.go:13: invalid expression unsafe.Sizeof(composite literal)
/root/go1.4/src/runtime/chan.go:19: undefined: hchan
/root/go1.4/src/runtime/chan.go:19: undefined: chantype
/root/go1.4/src/runtime/chan.go:61: undefined: hchan
/root/go1.4/src/runtime/chan.go:67: undefined: chantype
/root/go1.4/src/runtime/chan.go:67: undefined: hchan
/root/go1.4/src/runtime/chan.go:67: too many errors

Dave Cheney

unread,
Aug 17, 2015, 6:45:56 AM8/17/15
to golang-nuts
Thanks for reporting this error here. Where did you get the /root/go1.4 bootstrap from ?

Ganbold Tsagaankhuu

unread,
Aug 17, 2015, 6:49:39 AM8/17/15
to Dave Cheney, golang-nuts
On Mon, Aug 17, 2015 at 7:45 PM, Dave Cheney <da...@cheney.net> wrote:
Thanks for reporting this error here. Where did you get the /root/go1.4 bootstrap from ?

go version go1.4.2 freebsd/amd64 is installed from ports and since make.bash reports error when /root/go1.4 is not there. So it is symlink to /usr/local/go

Ganbold


 

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Dave Cheney

unread,
Aug 17, 2015, 6:58:19 AM8/17/15
to Ganbold Tsagaankhuu, golang-nuts
Can you please try

env GOROOT_BOOTSTRAP=/usr/local/go ./make.bash

Ganbold Tsagaankhuu

unread,
Aug 17, 2015, 7:37:49 AM8/17/15
to Dave Cheney, golang-nuts
On Mon, Aug 17, 2015 at 7:58 PM, Dave Cheney <da...@cheney.net> wrote:
Can you please try

env GOROOT_BOOTSTRAP=/usr/local/go ./make.bash

Same here.

root@bsd:~tsgan/golang/go/src # setenv GOROOT_BOOTSTRAP /usr/local/go
root@bsd:~tsgan/golang/go/src # ./make.bash
##### Building Go bootstrap tool.
cmd/dist
# runtime
/usr/local/go/src/runtime/cgocall.go:138: undefined: m
/usr/local/go/src/runtime/chan.go:13: undefined: hchan
/usr/local/go/src/runtime/chan.go:13: invalid expression unsafe.Sizeof(composite literal)
/usr/local/go/src/runtime/chan.go:13: undefined: hchan
/usr/local/go/src/runtime/chan.go:13: invalid expression unsafe.Sizeof(composite literal)
/usr/local/go/src/runtime/chan.go:19: undefined: hchan
/usr/local/go/src/runtime/chan.go:19: undefined: chantype
/usr/local/go/src/runtime/chan.go:61: undefined: hchan
/usr/local/go/src/runtime/chan.go:67: undefined: chantype
/usr/local/go/src/runtime/chan.go:67: undefined: hchan
/usr/local/go/src/runtime/chan.go:67: too many errors
root@bsd:~tsgan/golang/go/src #

Dave Cheney

unread,
Aug 17, 2015, 7:38:16 AM8/17/15
to Ganbold Tsagaankhuu, golang-nuts
I'm suspecting something is wrong with the copy of go that ports has
provided you. Can you please check out a fresh one from source

$ git clone -b release-branch.go1.4 https://go.googlesource.com/go go1.4
$ cd go1.4/src
$ ./make.bash

Please take extra care that the version of go from ports is not on your $PATH.

Thanks

Dave

Dave Cheney

unread,
Aug 17, 2015, 8:03:46 AM8/17/15
to golang-nuts, gan...@gmail.com
I've tested this procedure on my freebsd-10.1 system and cannot replicate the problem you are having. I used go1.4 from source as described above, not freebsd ports.

Thanks

Dave

Ganbold Tsagaankhuu

unread,
Aug 17, 2015, 8:04:04 AM8/17/15
to Dave Cheney, golang-nuts
On Mon, Aug 17, 2015 at 8:28 PM, Dave Cheney <da...@cheney.net> wrote:
I'm suspecting something is wrong with the copy of go that ports has
provided you. Can you please check out a fresh one from source

$ git clone -b release-branch.go1.4 https://go.googlesource.com/go go1.4
$ cd go1.4/src
$ ./make.bash


Thanks, it builds.
However had to copy go binary to go1.4/bin directory to build golang head version.

root@bsd:~tsgan/golang/go/src # setenv GOROOT_BOOTSTRAP /home/tsgan/go1.4
root@bsd:~tsgan/golang/go/src # ./make.bash
##### Building Go bootstrap tool.
cmd/dist
ERROR: Cannot find /home/tsgan/go1.4/bin/go.
Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.
./make.bash: line 121: /home/tsgan/go1.4/bin/go: No such file or directory
root@bsd:~tsgan/golang/go/src #
root@bsd:~tsgan/golang/go/src #
root@bsd:~tsgan/golang/go/src #
root@bsd:~tsgan/golang/go/src # ls -l /home/tsgan/go/bin/go /home/tsgan/go1.4/bin/
-rwxr-xr-x  1 tsgan  tsgan  9565672 Aug 17 19:54 /home/tsgan/go/bin/go

/home/tsgan/go1.4/bin/:
total 0
root@bsd:~tsgan/golang/go/src # cp /home/tsgan/go/bin/go /home/tsgan/go1.4/bin/
root@bsd:~tsgan/golang/go/src # ./make.bash
##### Building Go bootstrap tool.
cmd/dist

##### Building Go toolchain using /home/tsgan/go1.4.
bootstrap/internal/obj
bootstrap/asm/internal/flags
bootstrap/compile/internal/big
...

Ganbold

Dave Cheney

unread,
Aug 17, 2015, 8:05:54 AM8/17/15
to Ganbold Tsagaankhuu, golang-nuts
> root@bsd:~tsgan/golang/go/src # setenv GOROOT_BOOTSTRAP /home/tsgan/go1.4
> root@bsd:~tsgan/golang/go/src # ./make.bash
> ##### Building Go bootstrap tool.
> cmd/dist
> ERROR: Cannot find /home/tsgan/go1.4/bin/go.
> Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.

You need to fix this error, by building go 1.4 first

> ./make.bash: line 121: /home/tsgan/go1.4/bin/go: No such file or directory
> root@bsd:~tsgan/golang/go/src #
> root@bsd:~tsgan/golang/go/src #
> root@bsd:~tsgan/golang/go/src #
> root@bsd:~tsgan/golang/go/src # ls -l /home/tsgan/go/bin/go
> /home/tsgan/go1.4/bin/
> -rwxr-xr-x 1 tsgan tsgan 9565672 Aug 17 19:54 /home/tsgan/go/bin/go
>
> /home/tsgan/go1.4/bin/:
> total 0
> root@bsd:~tsgan/golang/go/src # cp /home/tsgan/go/bin/go
> /home/tsgan/go1.4/bin/

This is a mistake, please don't do this, it will make future debugging harder.

Ganbold Tsagaankhuu

unread,
Aug 17, 2015, 8:09:56 AM8/17/15
to Dave Cheney, golang-nuts
On Mon, Aug 17, 2015 at 9:05 PM, Dave Cheney <da...@cheney.net> wrote:
> root@bsd:~tsgan/golang/go/src # setenv GOROOT_BOOTSTRAP /home/tsgan/go1.4
> root@bsd:~tsgan/golang/go/src # ./make.bash
> ##### Building Go bootstrap tool.
> cmd/dist
> ERROR: Cannot find /home/tsgan/go1.4/bin/go.
> Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.

You need to fix this error, by building go 1.4 first

Yes, I built go1.4 first by running make.bash:
...
---
Installed Go for freebsd/amd64 in /home/tsgan/go1.4
Installed commands in /home/tsgan/go/bin



> ./make.bash: line 121: /home/tsgan/go1.4/bin/go: No such file or directory

But when trying to build head version of golang it complains go binary doesn't exist in above mentioned path.

Ganbold

Dave Cheney

unread,
Aug 17, 2015, 8:21:17 AM8/17/15
to Ganbold Tsagaankhuu, golang-nuts
I believe this is because you have GOBIN set. Please don't set GOBIN. 


Reply all
Reply to author
Forward
0 new messages