i know that gccgo vendor not support.

hi, Dave, but even gopath also not supported ?

and what's  the road map?

在 2017年6月6日星期二 UTC+8下午6:38:32,Dave Cheney写道:
>
> I'd say gccgo does not support vendoring. 
>
> On Tue, 6 Jun 2017, 20:35 Joost Shao <joosts...@gmail.com <javascript:>> 
> wrote:
>
>>
>>
>> 在 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