Repository navigation
Closed
Labels
FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.modules
Milestone
Description
Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
$ go version
go version go1.10.3 linux/amd64
$ vgo version
go version go1.10.3 linux/amd64 vgo:2018-02-20.1Does this issue reproduce with the latest release?
Have not tried 1.11beta1
What operating system and processor architecture are you using (go env)?
$ go env
GOARCH="amd64"
GOBIN="/home/adam/go/bin"
GOCACHE="/home/adam/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/adam/go"
GORACE=""
GOROOT="/home/adam/.gvm/gos/go1.10.3"
GOTMPDIR=""
GOTOOLDIR="/home/adam/.gvm/gos/go1.10.3/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
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-build321160569=/tmp/go-build -gno-record-gcc-switches"What did you do?
$ vgo build ./...
...
...
../../../mod/github.com/docker/go-events@v0.0.0-20170721190031-9461782956ad/broadcast.go:7:2: case-insensitive import collision: "github.com/sirupsen/logrus" and "github.com/Sirupsen/logrus"A simple, demo repo to reproduce can be found, here.
I've also tried modifying my go.mod file with
exclude github.com/Sirupsen/logrus v1.0.5
require (
...
github.com/sirupsen/logrus v1.0.5
...
)
AND
replace github.com/Sirupsen/logrus v1.0.5 => github.com/sirupsen/logrus v1.0.5
What did you expect to see?
Successful build
What did you see instead?
../../../mod/github.com/docker/go-events@v0.0.0-20170721190031-9461782956ad/broadcast.go:7:2: case-insensitive import collision: "github.com/sirupsen/logrus" and "github.com/Sirupsen/logrus"Reacted by Peter Waller, Anthony Voutas, Avelino, Nithin Gangadharan, Paul Cody, Alan D. Cabrera and Josh Bryans
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.modules
Activity
bcmills commentedon Jul 4, 2018
vgotends to choose an old version ofdocker/dockerdue to the vgo requirement for semantic import versioning. (The latestdockertags are forv17, but without a versioned import path vgo stops atv1.)That's probably giving you some transitive dependency that uses a bad import path for
logrus.What happens if you explicitly
vgo get github.com/docker/docker@v17.05.0-ce?adam-hanna commentedon Jul 5, 2018
Hi @bcmills, thanks for the suggestion, but I got the same error
EDIT - to be clear, I first
$ vgo get github.com/docker/docker@v17.05.0-ceand then$ vgo build ./...pwaller commentedon Jul 10, 2018
I'm also hitting this in another project @bcmills - one with a very long list of dependencies, including docker and some other large things. It's unclear where the problem comes from, or how to determine it.
I have also reproduced @adam's experience.
bcmills commentedon Jul 10, 2018
When we stop automatically picking old versions of things (#26238) it should pretty much go away. Let's revisit once that is fixed.
adam-hanna commentedon Jul 10, 2018
Thanks @bcmills! I'll keep an eye on that issue and try again once closed.
[-]x/vgo: case-insensitive import collision with vgo build ./...[/-][+]cmd/go: case-insensitive import collision with vgo build ./...[/+]filewalkwithme commentedon Aug 1, 2018
#26238 was merged. Is this issue still happening?
adam-hanna commentedon Aug 1, 2018
@filewalkwithme trying to install from source to check, now. Having some issues but will update you with progress, soon.
3 remaining items
adam-hanna commentedon Aug 10, 2018
@rsc Thanks for the help!
Unless I'm mistaken, the example repo is using the most recent release of docker (v17.03.2-ce). The git hash of which is f5ec1e2936dcbe7b5001c2b817188b095c700c27In go.mod, line #15:You can see that that is in fact the latest git hash.EDIT - Scratch the first part of my comment...
Would it be possible to consider adding support for:
??
Thanks!
EDIT 2 -
I can confirm that using v17.05.0 works.
voutasaurus commentedon Aug 22, 2018
It may be worth looking at the corpus to see which major packages vendor an old docker version (pre July 2017). If the responsibility lies with the package maintainers themselves then starting the outreach sooner rather than later will give those package maintainers more time to anticipate the issue.
Also maybe I'm reading this wrong but is there any temporary workaround for those project maintainers who themselves are depending on a package that in turn depends on an old version of docker except for "don't use go mod for dependency management"?
voutasaurus commentedon Aug 23, 2018
FYI I did this in a repo which depends on github.com/hyperledger/fabric which depends on an old version of docker as a workaround and the error went away:
No manual editing of go.mod required. Tested in fresh golang:rc container.
I'm not sure if github.com/hyperledger/fabric will actually work with docker@v0.0.0-20180422163414-57142e89befe but at least the go tooling will work.
remove logrus to avoid golang/go#26208
Revert "remove logrus to avoid golang/go#26208"
This is a change to seemingly deal with this: golang/go#26208
thepudds commentedon Jan 16, 2019
More recent discussion (along with worked examples of good techniques to resolve properly):
bcmills commentedon Jan 18, 2019
That will likely be allowed once #26904 is addressed. Closing this issue as subsumed by that one.
upstream: Sirupsen -> sirupsen name change