-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
makefile: use full package name when building #52
base: master
Are you sure you want to change the base?
Conversation
While ./cmd/... works in the canonical Go setup, I have a very interesting Go setup involving symlinks within my GOPATH. It turns out that Go doesn't like this very much and the only way to solve it is to either stop using Go's inbuilt vendoring or build everything using the full Go import. The sort of errors you get are that the same type cannot be used in a function call because the function signature was imported from a different path. Signed-off-by: Aleksa Sarai <[email protected]>
On Tue, Oct 25, 2016 at 02:41:51AM -0700, Aleksa Sarai wrote:
Can you provide enough details to reproduce your error? I have:
and image-tools compiles fine with the current relative path. |
This doesn't happen with the current state of the repo (it only happens with #5 applied). But this is an issue common to all Go repos which have
If I apply #5 and try to build without this patch applied I get this:
Trust me when I say this happens quite a lot to me. For example I was playing around with runV and it also fails to build with my setup. It's nice that I've actually figured out how to fix it though ... |
On Tue, Oct 25, 2016 at 01:46:58PM -0700, Aleksa Sarai wrote:
This makes less sense to me than having a symlink-less Go tree which I guess I'm not strongly opposed, but it seems like a work-around for |
I don't agree. I also don't like the fact that Go makes this a problem (why on earth should a programming language mandate what my home directory's layout is?!).
It's not a work-around. It's a fix that makes it that we no longer make assumptions about the current directory, and makes no difference in the "common" Go usecase... |
On Tue, Oct 25, 2016 at 05:35:50PM -0700, Aleksa Sarai wrote:
I agree that Go's package management is not how I'd design it, but I'd
I think we're entitled to make assumptions about the current working |
@wking If you want I can switch to using
But then cloning is twice as painful as it should be. I don't get why this is such an issue -- it doesn't affect anyone who has the stock Go setup and it fixes my setup. Programming tools are not meant to fight the user. |
On Wed, Oct 26, 2016 at 09:04:19AM -0700, Aleksa Sarai wrote:
Does this really work? How does it find image-tools?
True. I still think this is a local-setup issue, but I agree that |
It works if you do something like this (I remember playing with this a while ago, there's some symlink trickery):
It's the same trickery we do for runC, but instead you also have |
While this LGTM, It does not guarantee that the |
While ./cmd/... works in the canonical Go setup, I have a very
interesting Go setup involving symlinks within my GOPATH. It turns out
that Go doesn't like this very much and the only way to solve it is to
either stop using Go's inbuilt vendoring or build everything using the
full Go import.
The sort of errors you get are that the same type cannot be used in a
function call because the function signature was imported from a
different path.
Signed-off-by: Aleksa Sarai [email protected]