在 2017年6月6日星期二 UTC+8下午6:35:23,Joost Shao写道:
>
>
>
> 在 2017年6月6日星期二 UTC+8下午6:34:02,Joost Shao写道:
>>
>> thank you first, i have been stuck by gccgo-7.x for gopath and govendor 
>> many days.
>>
>> gopath is ok, like below.
>>
>> ubuntu@ubuntu-zesty:~/go/src/github.com/valyala$ tree
>> .
>> └── fasttemplate
>>     ├── example_test.go
>>     ├── LICENSE
>>     ├── README.md
>>     ├── template.go
>>     ├── template_test.go
>>     ├── template_timing_test.go
>>     ├── unsafe_gae.go
>>     ├── unsafe.go
>>     └── vendor
>>         └── github.com
>>             └── valyala
>>                 └── bytebufferpool
>>                     ├── bytebuffer_example_test.go
>>                     ├── bytebuffer.go
>>                     ├── bytebuffer_test.go
>>                     ├── bytebuffer_timing_test.go
>>                     ├── doc.go
>>                     ├── LICENSE
>>                     ├── pool.go
>>                     ├── pool_test.go
>>                     └── README.md
>>
>> 5 directories, 17 files
>>
>>
>>
>> ubuntu@ubuntu-zesty:~$ go env
>> GOARCH="amd64"
>> GOBIN=""
>> GOEXE=""
>> GOHOSTARCH="amd64"
>> GOHOSTOS="linux"
>> GOOS="linux"
>> GOPATH="/home/ubuntu/go"
>> GORACE=""
>> GOROOT="/usr/lib/go-1.7"
>> GOTOOLDIR="/usr/lib/go-1.7/pkg/tool/linux_amd64"
>> CC="gcc"
>> GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 
>> -fdebug-prefix-map=/tmp/go-build060029979=/tmp/go-build 
>> -gno-record-gcc-switches"
>> CXX="g++"
>> CGO_ENABLED="1"
>>
>>
>> content of main.go
>> ubuntu@ubuntu-zesty:~$ cat server.go
>> package main
>>
>> import (
>> "net/http"
>> "github.com/labstack/echo"
>> )
>>
>> func main() {
>> e := echo.New()
>> e.GET("/", func(c echo.Context) error {
>> return c.String(http.StatusOK, "Hello, World!")
>> })
>> e.Logger.Fatal(e.Start(":1323"))
>> }
>>
>> by gc compile , the result is OK.
>> ubuntu@ubuntu-zesty:~$ go build -x -compiler gc server.go
>> WORK=/tmp/go-build058937444
>> mkdir -p $WORK/command-line-arguments/_obj/
>> mkdir -p $WORK/command-line-arguments/_obj/exe/
>> cd /home/ubuntu
>> /usr/lib/go-1.7/pkg/tool/linux_amd64/compile -o 
>> $WORK/command-line-arguments.a -trimpath $WORK -p main -complete -buildid 
>> 10569227a53a83251f5b0ba912d076c91ac34779 -D _/home/ubuntu -I $WORK -I 
>> ./go/pkg/linux_amd64 -pack ./server.go
>> cd .
>> /usr/lib/go-1.7/pkg/tool/linux_amd64/link -o 
>> $WORK/command-line-arguments/_obj/exe/a.out -L $WORK -L 
>> /home/ubuntu/go/pkg/linux_amd64 -extld=gcc -buildmode=exe 
>> -buildid=10569227a53a83251f5b0ba912d076c91ac34779 
>> $WORK/command-line-arguments.a
>> mv $WORK/command-line-arguments/_obj/exe/a.out server
>>
>> but by gccgo-7.0
>> ubuntu@ubuntu-zesty:~$ go build -x -compiler gccgo server.go
>> WORK=/tmp/go-build118667055
>> mkdir -p $WORK/github.com/mattn/go-isatty/_obj/
>> mkdir -p $WORK/github.com/mattn/
>> cd /home/ubuntu/go/src/github.com/mattn/go-isatty
>> /usr/bin/gccgo -I $WORK -c -g -m64 -fgo-pkgpath=
>> github.com/mattn/go-isatty 
>> -fgo-relative-import-path=_/home/ubuntu/go/src/github.com/mattn/go-isatty 
>> -o $WORK/github.com/mattn/go-isatty/_obj/_go_.o ./doc.go 
>> ./isatty_linux.go ./isatty_others.go
>> mkdir -p $WORK/github.com/mattn/go-colorable/_obj/
>> cd /home/ubuntu/go/src/github.com/mattn/go-colorable
>> /usr/bin/gccgo -I $WORK -c -g -m64 -fgo-pkgpath=
>> github.com/mattn/go-colorable 
>> -fgo-relative-import-path=_/home/ubuntu/go/src/
>> github.com/mattn/go-colorable -o $WORK/
>> github.com/mattn/go-colorable/_obj/_go_.o ./colorable_others.go 
>> ./noncolorable.go
>> ar rc $WORK/github.com/mattn/libgo-colorable.a $WORK/
>> github.com/mattn/go-colorable/_obj/_go_.o
>> mkdir -p $WORK/
>> github.com/valyala/fasttemplate/vendor/github.com/valyala/bytebufferpool/_obj/
>> mkdir -p $WORK/github.com/valyala/fasttemplate/vendor/github.com/valyala/
>> cd /home/ubuntu/go/src/
>> github.com/valyala/fasttemplate/vendor/github.com/valyala/bytebufferpool
>> /usr/bin/gccgo -I $WORK -c -g -m64 -fgo-pkgpath=
>> github.com/valyala/fasttemplate/vendor/github.com/valyala/bytebufferpool 
>> -fgo-relative-import-path=_/home/ubuntu/go/src/
>> github.com/valyala/fasttemplate/vendor/github.com/valyala/bytebufferpool 
>> -o $WORK/
>> github.com/valyala/fasttemplate/vendor/github.com/valyala/bytebufferpool/_obj/_go_.o
>>  
>> ./bytebuffer.go ./doc.go ./pool.go
>> cd /home/ubuntu/go/src/github.com/mattn/go-isatty
>> ar rc $WORK/github.com/mattn/libgo-isatty.a $WORK/
>> github.com/mattn/go-isatty/_obj/_go_.o
>> mkdir -p $WORK/github.com/labstack/gommon/color/_obj/
>> mkdir -p $WORK/github.com/labstack/gommon/
>> cd /home/ubuntu/go/src/github.com/labstack/gommon/color
>> /usr/bin/gccgo -I $WORK -I /home/ubuntu/go/pkg/gccgo_linux_amd64 -c -g 
>> -m64 -fgo-pkgpath=github.com/labstack/gommon/color 
>> -fgo-relative-import-path=_/home/ubuntu/go/src/
>> github.com/labstack/gommon/color -o $WORK/
>> github.com/labstack/gommon/color/_obj/_go_.o ./color.go
>> cd /home/ubuntu/go/src/
>> github.com/valyala/fasttemplate/vendor/github.com/valyala/bytebufferpool
>> ar rc $WORK/
>> github.com/valyala/fasttemplate/vendor/github.com/valyala/libbytebufferpool.a
>>  
>> $WORK/
>> github.com/valyala/fasttemplate/vendor/github.com/valyala/bytebufferpool/_obj/_go_.o
>> mkdir -p $WORK/github.com/valyala/fasttemplate/_obj/
>> mkdir -p $WORK/github.com/valyala/
>> cd /home/ubuntu/go/src/github.com/valyala/fasttemplate
>> /usr/bin/gccgo -I $WORK -I /home/ubuntu/go/pkg/gccgo_linux_amd64 -c -g 
>> -m64 -fgo-pkgpath=github.com/valyala/fasttemplate 
>> -fgo-relative-import-path=_/home/ubuntu/go/src/
>> github.com/valyala/fasttemplate -o $WORK/
>> github.com/valyala/fasttemplate/_obj/_go_.o ./template.go ./unsafe.go
>> # github.com/valyala/fasttemplate
>> go/src/github.com/valyala/fasttemplate/template.go:12:35: error: import 
>> file ‘github.com/valyala/bytebufferpool’ not found
>>   "github.com/valyala/bytebufferpool"
>>                                    ^
>> go/src/github.com/valyala/fasttemplate/template.go:99:34: error: 
>> expected package
>>  var byteBufferPool bytebufferpool.Pool
>>                                   ^
>> go/src/github.com/valyala/fasttemplate/template.go:124:31: error: 
>> expected package
>>   byteBufferPool bytebufferpool.Pool
>>                                ^
>> go/src/github.com/valyala/fasttemplate/template.go:140:2: error: return 
>> with value in function with no return type
>>   return t
>>   ^
>> go/src/github.com/valyala/fasttemplate/template.go:152:3: error: return 
>> with value in function with no return type
>>    return nil, err
>>    ^
>> go/src/github.com/valyala/fasttemplate/template.go:154:2: error: return 
>> with value in function with no return type
>>   return &t, nil
>>   ^
>> go/src/github.com/valyala/fasttemplate/template.go:267:2: error: not 
>> enough arguments to return
>>   return t.ExecuteFunc(w, func(w io.Writer, tag string) (int, error) { 
>> return stdTagFunc(w, tag, m) })
>>   ^
>> mkdir -p $WORK/golang.org/x/crypto/acme/_obj/
>> mkdir -p $WORK/golang.org/x/crypto/
>> cd /home/ubuntu/go/src/golang.org/x/crypto/acme
>> /usr/bin/gccgo -I $WORK -c -g -m64 -fgo-pkgpath=golang.org/x/crypto/acme 
>> -fgo-relative-import-path=_/home/ubuntu/go/src/golang.org/x/crypto/acme 
>> -o $WORK/golang.org/x/crypto/acme/_obj/_go_.o ./acme.go ./jws.go 
>> ./types.go
>> cd /home/ubuntu/go/src/github.com/labstack/gommon/color
>> ar rc $WORK/github.com/labstack/gommon/libcolor.a $WORK/
>> github.com/labstack/gommon/color/_obj/_go_.o
>> cd /home/ubuntu/go/src/golang.org/x/crypto/acme
>> ar rc $WORK/golang.org/x/crypto/libacme.a $WORK/
>> golang.org/x/crypto/acme/_obj/_go_.o
>> mkdir -p $WORK/golang.org/x/crypto/acme/autocert/_obj/
>> mkdir -p $WORK/golang.org/x/crypto/acme/
>> cd /home/ubuntu/go/src/golang.org/x/crypto/acme/autocert
>> /usr/bin/gccgo -I $WORK -I /home/ubuntu/go/pkg/gccgo_linux_amd64 -c -g 
>> -m64 -fgo-pkgpath=golang.org/x/crypto/acme/autocert 
>> -fgo-relative-import-path=_/home/ubuntu/go/src/
>> golang.org/x/crypto/acme/autocert -o $WORK/
>> golang.org/x/crypto/acme/autocert/_obj/_go_.o ./autocert.go ./cache.go 
>> ./listener.go ./renewal.go
>> ar rc $WORK/golang.org/x/crypto/acme/libautocert.a $WORK/
>> golang.org/x/crypto/acme/autocert/_obj/_go_.o
>>
>> which confused me is what is "gccgo_linux_amd64" directory, i install 
>> gccgo-7.x with ubuntu ppa, i confused.
>>
>> 在 2017年6月6日星期二 UTC+8下午3:28:37,Dave Cheney写道:
>>>
>>> Does the missing package exist in your gopath?
>>>
>>> On Tue, 6 Jun 2017, 17:24 Joost Shao <joosts...@gmail.com> wrote:
>>>
>>>> what about now ? i used gccgo-7 to compile framework echo, but failed .
>>>>
>>>> error is blow:
>>>>
>>>> ubuntu@ubuntu-zesty:~$ gccgo-7 -v
>>>> Using built-in specs.
>>>> COLLECT_GCC=gccgo-7
>>>> COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
>>>> OFFLOAD_TARGET_NAMES=nvptx-none
>>>> OFFLOAD_TARGET_DEFAULT=1
>>>> Target: x86_64-linux-gnu
>>>> Configured with: ../src/configure -v --with-pkgversion='Ubuntu 
>>>> 7-20170407-0ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs 
>>>> --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr 
>>>> --with-gcc-major-version-only --program-suffix=-7 
>>>> --program-prefix=x86_64-linux-gnu- --enable-shared 
>>>> --enable-linker-build-id 
>>>> --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
>>>> --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu 
>>>> --enable-libstdcxx-debug --enable-libstdcxx-time=yes 
>>>> --with-default-libstdcxx-abi=new --enable-gnu-unique-object 
>>>> --disable-vtable-verify --enable-libmpx --enable-plugin 
>>>> --enable-default-pie --with-system-zlib --with-target-system-zlib 
>>>> --enable-objc-gc=auto --enable-multiarch --disable-werror 
>>>> --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 
>>>> --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none 
>>>> --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu 
>>>> --host=x86_64-linux-gnu --target=x86_64-linux-gnu
>>>> Thread model: posix
>>>> gcc version 7.0.1 20170407 (experimental) [trunk revision 246759] 
>>>> (Ubuntu 7-20170407-0ubuntu2)
>>>>
>>>>
>>>> ubuntu@ubuntu-zesty:~$ go build -compiler gccgo  server.go
>>>> # github.com/valyala/fasttemplate
>>>> go/src/github.com/valyala/fasttemplate/template.go:12:35: error: 
>>>> import file ‘github.com/valyala/bytebufferpool’ not found
>>>>   "github.com/valyala/bytebufferpool"
>>>>                                    ^
>>>> go/src/github.com/valyala/fasttemplate/template.go:99:34: error: 
>>>> expected package
>>>>  var byteBufferPool bytebufferpool.Pool
>>>>                                   ^
>>>> go/src/github.com/valyala/fasttemplate/template.go:124:31: error: 
>>>> expected package
>>>>   byteBufferPool bytebufferpool.Pool
>>>>                                ^
>>>> go/src/github.com/valyala/fasttemplate/template.go:140:2: error: 
>>>> return with value in function with no return type
>>>>   return t
>>>>   ^
>>>> go/src/github.com/valyala/fasttemplate/template.go:152:3: error: 
>>>> return with value in function with no return type
>>>>    return nil, err
>>>>    ^
>>>> go/src/github.com/valyala/fasttemplate/template.go:154:2: error: 
>>>> return with value in function with no return type
>>>>   return &t, nil
>>>>   ^
>>>> go/src/github.com/valyala/fasttemplate/template.go:267:2: error: not 
>>>> enough arguments to return
>>>>   return t.ExecuteFunc(w, func(w io.Writer, tag string) (int, error) { 
>>>> return stdTagFunc(w, tag, m) })
>>>>   ^
>>>>
>>>>
>>>> it seems not support import third party package.
>>>>
>>>> anyone can help me ?
>>>>
>>>> 在 2015年12月11日星期五 UTC+8上午10:48:49,Zhongwei Yao写道:
>>>>>
>>>>> OK, I'll give a try to newer gccgo.
>>>>>
>>>>
>>>>> On 11 December 2015 at 10:28, Dave Cheney <da...@cheney.net> wrote:
>>>>>
>>>>>> I think gccgo is well supported and benefits from the mature gcc 
>>>>>> toolchain, ubuntu is just shipping an out of date version.
>>>>>>
>>>>>> On Friday, 11 December 2015 13:17:12 UTC+11, Zhongwei Yao wrote:
>>>>>>>
>>>>>>> Hi, Dave, Thanks for your information! I've built and run several 
>>>>>>> programs by gc without any problem on arm64. Programs include benchmark 
>>>>>>> cases like build, garbage, http, json in golang.org/x/benchmark 
>>>>>>> package. The gc is built from recently master branch. And we also have 
>>>>>>> tried go 1.5.1 to run docker on arm64, it also works. If you want more 
>>>>>>> details, please tell me.
>>>>>>>
>>>>>>> What I want to do is comparing the performance between gccgo and gc. 
>>>>>>> BTW, I'm new to golang. And I don't know why the community is 
>>>>>>> supporting 
>>>>>>> both gccgo and gc. Gccgo seems support a lot of architecture, but it is 
>>>>>>> not 
>>>>>>> well supported in cases like my problem.
>>>>>>>
>>>>>>> On 10 December 2015 at 20:17, Dave Cheney <da...@cheney.net> wrote:
>>>>>>>
>>>>>>>> I believe gccgo 4.9 only implements the go 1.3 spec. sync.Pool was 
>>>>>>>> added in 1.4.
>>>>>>>>
>>>>>>>> You will have to compile a newer gccgo to.compile that program.
>>>>>>>>
>>>>>>>> BTW, did you know what go 1.5 and later support arm64 natively?
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>> Dave
>>>>>>>>
>>>>>>>> --
>>>>>>>> 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.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> Best regards,
>>>>>>> Zhongwei
>>>>>>>
>>>>>> -- 
>>>>>> 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.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> -- 
>>>>> Best regards,
>>>>> Zhongwei
>>>>>
>>>>

-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to