You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a "garbage in" problem, not a problem in vgo itself.
github.com/labstack/echo has https://github.com/labstack/echo/blob/master/Gopkg.lock which asks for a specific commit of x/sys. golang.org/x/crypto does not declare its dependencies at all, but it turns out to need a newer version of x/sys than the one requested by labstack/echo. Since the requirement on the newer version is unstated, vgo obviously doesn't know about it, so it keeps using the older one, leading to the missing IoctlGet* symbols.
This is a fundamental problem: if packages depend on something they don't mention in their requirements lists, then they might not get the right version of that thing. There's not much we can do about it once it happens. In the long term, once everything is being built with vgo (when it becomes "go"), everything will declare its requirements, since go.mod is updated automatically, and the problem will not happen anymore.
What version of Go are you using (
go version
)?go1.10
What operating system and processor architecture are you using (
go env
)?linux/amd64
What did you do?
I added a
go.mod
file to an existing project and ranvgo build
. The following require lines were added to the .mod file as expected:and vgo attempted to compile the application
What did you expect to see?
the application to be compiled into a binary
What did you see instead?
I can get around this error obviously by running
vgo get golang.org/x/sys
The text was updated successfully, but these errors were encountered: