Skip to content
This repository has been archived by the owner on May 13, 2022. It is now read-only.

Running glide update fails, prevents building Burrow with forked dependencies #623

Closed
dmjones opened this issue Jul 4, 2017 · 1 comment

Comments

@dmjones
Copy link

dmjones commented Jul 4, 2017

Please include in your bug report:

  • [ Master branch, commit 61a1bb2 ] burrow version (docker image tag or branch if built from source)
  • [ N/A ] monax version (if applicable)
  • [ go1.8.3 linux/amd64] go version (if applicable)
  • [ N/A ] docker version (if applicable)
  • [ Ubuntu 16.04.2 LTS ] operating system details (osx/windows/linux)
  • [ ] what you expected to happen

Running glide update should refresh the glide.lock file and produce a set of dependencies that Burrow can build against. This is necessary if one wants to build Burrow against forked versions of dependencies (e.g. to test new features).

  • [ ] what actually happened

The glide update command produced an error:

Error scanning github.com/tendermint/abci/example/nil: open /home/ubuntu/.glide/cache/src/https-github.com-tendermint-abci/example/nil: no such file or directory.
This error means the referenced package was not found. Missing file or directory errors usually occur when multiple packages share a common dependency and the first reference encountered by the scanner sets the version to one that does not contain a subpackage needed required by another package that uses the shared dependency. Try setting a version in your glide.yaml that works for all packages that share this dependency.

A few days ago, the update command completed successfully, however Burrow would not compile against the set of dependencies that were downloaded. Looking at the commit history, it looks like the glide.lock file has seen some hand-edits, so perhaps the YAML file is outdated?

  • [ ] steps to reproduction

Download a fresh copy of the Burrow source. Run glide update.

@silasdavis
Copy link
Contributor

This is a real pain point for us and I know others in Go land (though apparently not for Google). The basic answer is we do not support glide update because it updates transitive dependencies that is not acceptable for us. See my ticket: Masterminds/glide#479.

I have a tool that I use here: https://github.com/silasdavis/glide-lock-transitive which may allow you to do what you want.

Until we have a better solution for us it is a question of maintaining the glide.lock by hand. Which is not ideal, but in my opinion is better that not having a manifest at all.

I'm going to close this ticket, but I am open to suggestions if you have them.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

2 participants