无法在Mac OS X 10.6.7上编译Go语言

时间:2011-06-11 00:37:07

标签: go

按照Getting Started - The Go Programming Language上的说明操作时,我会获取代码并尝试运行all.bash脚本。

但是在看了很多其他成功的输出后我得到了这个错误:

INSTALL FAIL net
CGOPKGPATH= cgo --  cgo_bsd.go cgo_unix.go 
touch _obj/_cgo_run
6g  -o _go_.6 dial.go dnsmsg.go fd_darwin.go hosts.go ip.go ipsock.go iprawsock.go lookup.go net.go parse.go pipe.go sock.go tcpsock.go udpsock.go unixsock.go  newpollserver.go fd.go file.go dnsconfig.go dnsclient.go port.go  _obj/cgo_bsd.cgo1.go _obj/cgo_unix.cgo1.go _obj/_cgo_gotypes.go
6c -FVw -I/Users/matryer/Work/go/pkg/darwin_amd64 -I . -o "_cgo_defun.6" _obj/_cgo_defun.c
gcc -m64 -I . -g -fPIC -O2 -o _cgo_main.o -c   _obj/_cgo_main.c
gcc -m64 -I . -g -fPIC -O2 -o cgo_bsd.cgo2.o -c   _obj/cgo_bsd.cgo2.c
gcc -m64 -I . -g -fPIC -O2 -o cgo_unix.cgo2.o -c   _obj/cgo_unix.cgo2.c
gcc -m64 -I . -g -fPIC -O2 -o _cgo_export.o -c   _obj/_cgo_export.c
gcc -m64 -g -fPIC -O2 -o _cgo1_.o _cgo_main.o cgo_bsd.cgo2.o cgo_unix.cgo2.o _cgo_export.o  
cgo -dynimport _cgo1_.o >_obj/_cgo_import.c_ && mv -f _obj/_cgo_import.c_ _obj/_cgo_import.c
6c -FVw -I . -o "_cgo_import.6" _obj/_cgo_import.c
cgo_bsd.go:5[_obj/cgo_bsd.cgo1.go:8]: undefined: _Cconst_AI_MASK
cgo_unix.go:69[_obj/cgo_unix.cgo1.go:72]: undefined: _Cconst_AI_ALL
cgo_unix.go:69[_obj/cgo_unix.cgo1.go:72]: undefined: _Cconst_AI_V4MAPPED
cgo_unix.go:69[_obj/cgo_unix.cgo1.go:72]: undefined: _Cconst_AI_CANONNAME
make[1]: *** [_go_.6] Error 1
make: *** [net.install] Error 1

还有其他人看过这个并修好了吗?

我正在运行Snow Leopard(10.6.7)build 10J869

2 个答案:

答案 0 :(得分:2)

这是一个未解决的问题,与OS X 10.7和10.6.7的新版Xcode有关。

Issue 1881:OS X 10.7上的cgo const错误

注意:Revision 142f0bc0d6e7已关闭issue 1881。要更新Go以查找包含此修订版本的所有更改,请运行:

$ cd $GOROOT/src
$ hg pull
$ hg update 142f0bc0d6e7
$ ./all.bash

答案 1 :(得分:0)

您没有准确指出要构建的Go版本。请注意,它是一个动态项目,其中版本经常更改。

我刚刚在我之前编译过Go的目录中运行hg pullhg update(在MacOS X 10.6.7上)。然后我运行sh all.bash并且在构建或测试阶段没有看到任何问题(虽然现在构建比Go首次宣布时需要更长的时间)。

FWIW,hg tags给了我:

tip                             8715:599657138e00
weekly.2011-06-09               8703:c81944152e97
weekly                          8703:c81944152e97
weekly.2011-06-02               8623:3418f22c39eb
weekly.2011-05-22               8483:c98449d685d2
release.r57.1                   8294:95d2ce135523

构建周期的结束给出了:

--- cd ../test
0 known bugs; 0 unexpected bugs

ALL TESTS PASSED

---
Installed Go for darwin/amd64 in /Users/jleffler/go.
Installed commands in /Users/jleffler/bin.
The compiler is 6g.

因此...

如果您更改Go的版本(可能是更新的版本),那么它也可能适合您。


而且,另一个FWIW或FYI,我在今天下午运行MacOS X 10.6.7的另一台计算机上重新构建了版本,并且提示版本略有不同,显然有2个已知的错误。

--- cd ../test
2 known bugs; 0 unexpected bugs

ALL TESTS PASSED

---
Installed Go for darwin/amd64 in /Users/jleffler/External-Source-Repositories/hg/go.
Installed commands in /Users/jleffler/External-Source-Repositories/hg/go/bin.
*** You need to add /Users/jleffler/External-Source-Repositories/hg/go/bin to your $PATH. ***
The compiler is 6g.

On OS X the debuggers must be installed setgrp procmod.
Read and run ./sudo.bash to install the debuggers.

real    4m55.695s
user    2m52.436s
sys     1m10.222s
Osiris-9 JL: hg tags | sed 15q
tip                             8716:164ef168486b
weekly.2011-06-09               8703:c81944152e97
weekly                          8703:c81944152e97
weekly.2011-06-02               8623:3418f22c39eb
weekly.2011-05-22               8483:c98449d685d2
release.r57.1                   8294:95d2ce135523

时间信息(构建和测试周期不到5分钟)来自运行:

time all.bash