Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
x/vgo: OS specific requirements don't appear to be added to the go.mod #24367
What version of Go are you using (
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.