在mac上编译go源代码居然错误

69 views
Skip to first unread message

yaotian

unread,
Oct 14, 2012, 5:05:37 AM10/14/12
to golang...@googlegroups.com
为了解决跨平台编译的问题,所以需要编译go的源代码。

但是问题没解决,居然出了新问题。到src下 sudo ./all.bash 

错误信息:

--- FAIL: TestMulticastListener (0.00 seconds)
multicast_test.go:69: First ListenMulticastUDP failed: joinipv6group udp ff0e::114: setsockopt: can't assign requested address
FAIL
FAIL net 0.870s

minux

unread,
Oct 14, 2012, 5:49:30 AM10/14/12
to golang...@googlegroups.com

On Sun, Oct 14, 2012 at 5:05 PM, yaotian <yao...@gmail.com> wrote:
为了解决跨平台编译的问题,所以需要编译go的源代码。
不是贴过了一个blog写了一个脚本解决这个问题么? 

但是问题没解决,居然出了新问题。到src下 sudo ./all.bash 
为啥sudo? golang.org/doc/install 里面说了要sudo么? (用sudo编译软件也很不安全啊)
把sudo去了测试就过了。

错误信息:

--- FAIL: TestMulticastListener (0.00 seconds)
multicast_test.go:69: First ListenMulticastUDP failed: joinipv6group udp ff0e::114: setsockopt: can't assign requested address
FAIL
FAIL net 0.870s

顺便说下,tip已经改正了这个以root运行就测试不通过的问题了,不用提交bug了。

yaotian

unread,
Oct 14, 2012, 8:44:19 AM10/14/12
to golang...@googlegroups.com
奇怪。
我是下载源代码后解压缩后编译的。

具体步骤如下:
1. 下载 go1.0.3.src.tar.gz
2. 解压缩后到src目录下执行./all.bash 后有permission error, 所以我sudo了

./all.bash 

# Building C bootstrap tool.

cmd/dist

error: Permission denied - unable to open file for writing at 'cmd/dist/dist.dSYM/Contents/Resources/DWARF/dist.x86_64'.



--
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina

minux

unread,
Oct 14, 2012, 12:11:15 PM10/14/12
to golang...@googlegroups.com

2012/10/14 yaotian <yao...@gmail.com>

奇怪。
我是下载源代码后解压缩后编译的。

具体步骤如下:
1. 下载 go1.0.3.src.tar.gz
2. 解压缩后到src目录下执行./all.bash 后有permission error, 所以我sudo了

./all.bash 

# Building C bootstrap tool.

cmd/dist

error: Permission denied - unable to open file for writing at 'cmd/dist/dist.dSYM/Contents/Resources/DWARF/dist.x86_64'.

我在10.6.8上没能重现这个问题;10.7我也经常编译,没见过这个问题。
你看看cmd/dist/dist.dSYM目录以及其子目录是否有权限问题?

实在解决不了可以把make.bash打开,删除其中的-ggdb字符串。

Holin He

unread,
Apr 5, 2013, 11:06:47 AM4/5/13
to golang...@googlegroups.com
我也碰到这个问题,最后发现其实就是权限问题。
首先不要用sudo,
然后报没权限操作的几个目录,我hg下来后的代码居然是root用户的,我后来直接把go目录全部设置给当前操作用户。
然后 ./all.bash, 搞定了。

# ../test/bench/go1
ok   _/Users/holin/projects/go/test/bench/go1 2.532s

# ../test

real 0m15.260s
user 0m28.587s
sys 0m9.394s

# Checking API compatibility.
Go version is "go1.0.3", ignoring -next /Users/holin/projects/go/api/next.txt

ALL TESTS PASSED

---
Installed Go for darwin/amd64 in /Users/holin/projects/go
Installed commands in /Users/holin/projects/go/bin
*** You need to add /Users/holin/projects/go/bin to your PATH.
Reply all
Reply to author
Forward
0 new messages