Skip to content
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

Enable "longpath" support on Window #2359

Closed
CoorFun opened this issue Dec 7, 2023 · 2 comments
Closed

Enable "longpath" support on Window #2359

CoorFun opened this issue Dec 7, 2023 · 2 comments

Comments

@CoorFun
Copy link

CoorFun commented Dec 7, 2023

Regarding to historical reason, path that exceeds 260 characters are not directly supported on Windows.

Ninja now uses ANSI instead of Unicode style on some of Windows APIs. This could lead to "ERROR 206" (The filename or extension is too long.).

Ninja fails when calling GetFullPathNameA etc on a file that is deeply nested or has long generated name. For now, the only solution is reducing directories nested for the project to bypass. But it doesn't solve this issue if Ninja comes to a file that really has a 260 characters long name.

For example, the following error was generated when I tried to compile V8:

GetFullPathNameA(gen/third_party/blink/renderer/bindings/modules/v8/v8_union_gpucanvascontext_imagebitmaprenderingcontext_offscreencanvasrenderingcontext2d_webgl2renderingcontext_webglrenderingcontext.h): The file name or extension is too long

So should we migrate all ANSI styled call to the Unicode version?

@jhasse
Copy link
Collaborator

jhasse commented Dec 7, 2023

Duplicate of #1900. Please try the latest master build with the Registry change as mentioned there.

@jhasse jhasse closed this as completed Dec 7, 2023
@CoorFun
Copy link
Author

CoorFun commented Dec 12, 2023

@jhasse FYI, the latest master build 1.12.0.git doesn't solve the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants