duanguangsong2380
2011-06-11 00:37
浏览 73
已采纳

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

When following instructions on Getting Started - The Go Programming Language, I get the code and try to run the all.bash script.

But I get this error after a lot of other successful looking output:

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

Has anybody else seen this and fixed it?

I am running Snow Leopard (10.6.7) build 10J869.

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • doushi4956 2011-06-11 03:24
    已采纳

    It's an open issue, relating to a new version of Xcode, for OS X 10.7 and 10.6.7.

    Issue 1881: cgo const error on OS X 10.7

    NOTE: Revision 142f0bc0d6e7 has been made to close issue 1881. To update Go for all changes up to and including this revision, run:

    $ cd $GOROOT/src
    $ hg pull
    $ hg update 142f0bc0d6e7
    $ ./all.bash
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • donglao6169 2011-06-11 04:19

    You don't indicate exactly which version of Go you are building. Note that it is a dynamic project where the versions change frequently.

    I just ran hg pull and hg update in a directory where I've previously compiled Go successfully (on MacOS X 10.6.7). Then I ran sh all.bash and I didn't see any issues during the build or test phases (though it takes longer to build now than it did when Go was first announced).

    FWIW, hg tags gives me:

    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
    

    And the end of the build cycle gives:

    --- 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.
    

    Therefore...

    There is a chance that if you change the version of Go (possibly to a more recent one), then it will work for you, too.


    And, another FWIW or FYI, I redid the build on a different machine also running MacOS X 10.6.7 this afternoon, and the tip version is slightly different, and there are apparently 2 known bugs.

    --- 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
    

    The timing information (just under 5 minutes for the build and test cycle) is from running:

    time all.bash
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题