gccgo: go tool: no such tool "vet"

129 views
Skip to first unread message

Jan Mercl

unread,
Jan 10, 2019, 10:46:55 AM1/10/19
to golang-nuts, Ian Lance Taylor
I've installed gccgo using the distro package manager. It seems to work just fine except that I cannot run any tests.

==== jnml@e5-1650:~/src/modernc.org/crt> go-8 version
go version go1.10.3 gccgo (SUSE Linux) 8.2.1 20180831 [gcc-8-branch revision 264010] linux/amd64
==== jnml@e5-1650:~/src/modernc.org/crt> go test
go tool: no such tool "vet"
=== jnml@e5-1650:~/src/modernc.org/crt> go-8 env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/jnml/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/jnml"
GORACE=""
GOROOT="/usr"
GOTMPDIR=""
GOTOOLDIR="/usr/lib64/gcc/x86_64-suse-linux/8"
GCCGO="/usr/bin/gccgo-8"
CC="gcc-8"
CXX="g++-8"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build374301587=/tmp/go-build -gno-record-gcc-switches -funwind-tables"
==== jnml@e5-1650:~/src/modernc.org/crt

The operating system here is openSUSE Leap 15.0/amd64. Gccgo was installed using package gcc8-go, version 8.2.1+r264010-lp150.2.3.

Does anybody know hot to get 'go-8 test' working?

Thanks in advance for any and all answers.

--

-j

Jan Mercl

unread,
Jan 10, 2019, 10:49:27 AM1/10/19
to golang-nuts
On Thu, Jan 10, 2019 at 4:46 PM Jan Mercl <0xj...@gmail.com> wrote:

Copy/paste error: s/go test/go-8 test/, the output is shown correctly in the OP. (Verified. Twice now.)

--

-j

Than McIntosh

unread,
Jan 10, 2019, 11:16:28 AM1/10/19
to Jan Mercl, golang-nuts

Can you send a link to the specific RPM you installed? Perhaps it is putting the "vet" tool in the wrong location.

Something to try:
% go test        
...
% strace -f -o trace.txt go test

Then examine the trace output to locate the error ("no such tool"), walk back to see where it is trying to locate it, e.g. something like

198961 stat("/mumble/libexec/gcc/x86_64-pc-linux-gnu/9.0.0/vet",  <unfinished ...>
198961 <... stat resumed> 0xc0001ace08) = -1 ENOENT (No such file or directory)
198951 futex(0xc000091120, FUTEX_WAIT_PRIVATE, 0, NULL <unfinished ...>
198961 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
198961 write(2, "go tool: no such tool \"vet\"\n", 28) = 28

Regards, Than


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

Jan Mercl

unread,
Jan 10, 2019, 11:33:47 AM1/10/19
to Than McIntosh, golang-nuts
On Thu, Jan 10, 2019 at 5:16 PM Than McIntosh <th...@google.com> wrote:

Thanks for the help. Comments inline.


> Can you send a link to the specific RPM you installed? Perhaps it is putting the "vet" tool in the wrong location.

The package was installed using YAST (openSUSE GUI package manager). Package name is gcc8-go, package version is 8.2.1+r264010-lp150.2.3. I was not able to find the URL of the package.

> Something to try:
> % go test
> ...
> % strace -f -o trace.txt go test
>
> Then examine the trace output to locate the error ("no such tool"), walk back to see where it is trying to locate it, e.g. something like

Here it goes:

684   rt_sigaction(SIGSTKFLT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f256b1a9160},  <unfinished ...>
675   stat("/usr/lib64/gcc/x86_64-suse-linux/8/vet",  <unfinished ...>
684   <... rt_sigaction resumed> NULL, 8) = 0
664   <... select resumed> )            = 0 (Timeout)
684   rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f256b1a9160},  <unfinished ...>
675   <... stat resumed> 0xc4203a2ac8)  = -1 ENOENT (No such file or directory)
684   <... rt_sigaction resumed> NULL, 8) = 0
664   clock_gettime(CLOCK_MONOTONIC,  <unfinished ...>
684   rt_sigaction(SIGURG, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f256b1a9160},  <unfinished ...>
664   <... clock_gettime resumed> {tv_sec=20734, tv_nsec=365171602}) = 0
684   <... rt_sigaction resumed> NULL, 8) = 0
684   rt_sigaction(SIGXCPU, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f256b1a9160},  <unfinished ...>
675   rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
684   <... rt_sigaction resumed> NULL, 8) = 0
675   <... rt_sigprocmask resumed> [], 8) = 0
684   rt_sigaction(SIGXFSZ, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f256b1a9160},  <unfinished ...>
675   write(2, "go tool: no such tool \"vet\"\n", 28 <unfinished ...>
684   <... rt_sigaction resumed> NULL, 8) = 0


--

-j

Than McIntosh

unread,
Jan 10, 2019, 11:42:55 AM1/10/19
to Jan Mercl, golang-nuts

Thanks. 

I downloaded what looks like your package from 

This package doesn't actually contain the "vet" command:

$ rpm -q -filesbypkg -p gcc8-go-8.2.1+r264010-lp150.2.3.x86_64.rpm | fgrep vet
warning: gcc8-go-8.2.1+r264010-lp150.2.3.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 3dbdc284: NOKEY
$

meaning that it's in a malformed state. Not sure how it is being constructed, but I think you might want to get in touch with the package maintainer to let them know there is an issue.

Cheers, Than

Jan Mercl

unread,
Jan 10, 2019, 11:47:34 AM1/10/19
to Than McIntosh, golang-nuts
On Thu, Jan 10, 2019 at 5:42 PM Than McIntosh <th...@google.com> wrote:

> meaning that it's in a malformed state. Not sure how it is being constructed, but I think you might want to get in touch with the package maintainer to let them know there is an issue.

Thank you. I'll try to raise an issue if I can find where to do that.

--

-j

Reply all
Reply to author
Forward
0 new messages