-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Use unicode Paths on Windows #2101
Comments
Yes, thanks, we are aware of this. Unfortunately, the problem is kind of endemic: at least on Windows 7 cmd.exe does not work with ?\ paths well. I also think cl.exe had problems with those paths, esp in versions before 2015. Are you running into issues without artificially installing VS into crazy locations? |
Great.
Another reason to switch from
The VS was just an example. Chances are good that we might encounter these problems when using Bazel to built these files. |
This is also becoming an issue on my side with @petemounce. We don't have any crazy paths (i.e the path to our If we want to use this more widely for builds on Windows we can not expect developers to systematically make junctions like TL;DR +1 on the issue. |
I'm on Windows 10 and suffer this. |
Related to #2145? |
Implement a JNI method that can resolve 8dot3 style paths. This is necessary because we need to be able to compare 8dot3 style paths and long paths [1], and because implementing this correctly in Java seems to be impossible [2]. This change also adds tests for the JNI isJunction implementation. See #2101 [1] #2145 [2] #2145 (comment) -- PiperOrigin-RevId: 142123750 MOS_MIGRATED_REVID=142123750
@petemounce : Yes it is related, though not the same. #2181 is the same issue as this one. Closing this in favor of that, since I've been submitting fixes referencing that bug. |
Description of the problem / feature request / question:
Bazel on Windows currently passes paths to Windows using postfix A names (
C:/whatever
). We found that it is REALLY easy to get to a point where you exceed theMAX_PATH
limit. So you should always use Unicode paths on Windows using the prefix\\?\
.And please change it now because afterwards I feel it will be too hard to change anymore.
If possible, provide a minimal example to reproduce the problem:
Install Visual Studio to:
and set
BAZEL_VS
to this path.Environment info
Operating System: Windows 8.1
Bazel version (output of
bazel info release
): 0.4.0Have you found anything relevant by searching the web? (e.g. GitHub issues, email threads in the bazel-discuss@googlegroups.com archive)
There are tons of discussions online for when and how you should use this.
Anything else, information or logs or outputs that would be helpful?
Not sure whether Java does this under the hood already. Then mostly only the direct interfacing with Windows (tools) needs to be fixed.
The text was updated successfully, but these errors were encountered: