-
Notifications
You must be signed in to change notification settings - Fork 18.4k
Closed
Closed
Copy link
Labels
FrozenDueToAgeGoCommandcmd/gocmd/goNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.
Milestone
Description
What version of Go are you using (go version
)?
$ go version go version go1.16 linux/amd64
Does this issue reproduce with the latest release?
It seems to be caused by the latest release. Everything works fine and dandy in 1.15
What operating system and processor architecture are you using (go env
)?
go env
Output
$ go env GO111MODULE="" GOARCH="amd64" GOBIN="/usr/local/go/bin" GOCACHE="/home/vagrant/.cache/go-build" GOENV="/home/vagrant/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GOMODCACHE="/vagrant/go/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/vagrant/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GOVCS="" GOVERSION="go1.16" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="/home/vagrant/gllvm/go.mod" 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-build4236193755=/tmp/go-build -gno-record-gcc-switches"
What did you do?
So I maintain a tool set for building LLVM bitcode for any reasonable project.
https://github.com/SRI-CSL/gllvm
It consists of several executables, two of which are compiler wrappers.
One wraps clang, and is called gclang
The other wraps clang++ and is called gclang++
The executables live in:
vagrant@ubuntu-focal:~/gllvm$ tree cmd
cmd
├── gclang
│ └── main.go
├── gclang++
│ └── main.go
├── get-bc
│ └── main.go
├── gparse
│ └── main.go
└── gsanity-check
└── main.go
5 directories, 5 files
People used to install them via:
go get github.com/SRI-CSL/gllvm/cmd/...
What did you expect to see?
This used to work just fine.
What did you see instead?
Now we get:
go get github.com/SRI-CSL/gllvm/cmd/...
github.com/SRI-CSL/gllvm/cmd/gclang++: malformed import path "github.com/SRI-CSL/gllvm/cmd/gclang++": invalid char '+'
I understand that modules are in my future and that this may be related. But when I try make a module
file:
vagrant@ubuntu-focal:~/gllvm$ go mod init github.com/SRI-CSL/gllvm
go: creating new go.mod: module github.com/SRI-CSL/gllvm
go: to add module requirements and sums:
go mod tidy
vagrant@ubuntu-focal:~/gllvm$ go mod tidy
github.com/SRI-CSL/gllvm/cmd/gclang++: malformed import path "github.com/SRI-CSL/gllvm/cmd/gclang++": invalid char '+'
vagrant@ubuntu-focal:~/gllvm$
I am fearing that go no longer tolerates '+' in the name of an executable. Maybe by accident?
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeGoCommandcmd/gocmd/goNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.