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
cgo+windows broken in 4.0.0 (error: error reading '.'; iquote) #2812
Comments
This is a pretty broad issue. If you can narrow it to a specific error or file multiple issues for specific errors, that would make it more actionable.
Using rules_go on Windows is the main thing I can recommend. Unfortunately, it's pretty difficult to get it working. Anything outside the narrow happy path tends to break. |
The problem here is that when it is treating This is a general problem of As an alternative to fixing this on the |
What version of rules_go are you using?
v0.25.1 (also tried master)
What version of gazelle are you using?
v0.22.3
What version of Bazel are you using?
4.0.0
Does this issue reproduce with the latest releases of all the above?
I suspect, yes.
What operating system and processor architecture are you using?
This is a x86_64 windows 10 machine.
Any other potentially useful information about your toolchain?
I haven't explicitly configured a toolchain. I launch bazel in a docker image and use local_cc.
This works fine in linux with clang or gcc but windows is a different beast.
An aside, are there any examples to run RBE locally? RBE seems very promising but it's undocumented
What did you do?
I am trying to build https://github.com/mattn/go-sqlite3 in windows.
TBH, I'm not familiar enough w/ windows to say for sure whether it's a bug or PEBKAC.
I created a repro here https://github.com/johnskopis/repro.
I was able to find a few related issues:
The first issue pevents me from compiling using mingw.
The second issue seems similar to the one I'm experiencing using msvc/clang/clang-cl, albeit at a different callsite.
What did you expect to see?
cgo should work on windows
What did you see instead?
cgo doesn't work
Random thoughts
I've been ruminating on a few approaches and I'm wondering what you think.
Fix protobuf so that it builds with gcc (8049)
a. can we just add mutable modifier to the mutex?
b. is there a const modifier we can remove?
c. I clearly didn't check :) hopefully it's a simple fix though.
define"target overrides" / support multiple compilers. What I'm thinking is a json/proto, e.g.:
For
#2
, I'm very curious to hear your thoughts. I realize this is not really in the spirit of blaze. but I'm not really sure how I'm supposed to override the compiler used for "that" go package when "that" is generated code, i.e. from vendor (/vendor/...).Personally, I don't like approach 2. Mixing objects from multiple compilers wouldprobably work but it introduces complexity...(and it just feels like a hack)
cc @jayconrod
The text was updated successfully, but these errors were encountered: