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
ICU-20555 Fix Windows data build failure with long paths #776
When building ICU4C from a long folder path on Windows, the data build portion of the build process will fail as the length of the command line passed to
One possible method of working around this is to modify/hack the Python data build scripts.
Instead, it turns out that we can actually use PowerShell instead to execute the command when the length exceeds CMD's limit. (PowerShell is available on Windows 7 and above, which is the minimum version of Windows that ICU currently supports).
Note that we only temporarily switch over to use PowerShell for the command if it exceeds the CMD limit, and then switch back to CMD for other commands. From testing, I found that using PowerShell was actually much slower, so we'd only want to use it when needed.
My building steps are:
I got an error message from sub project
(The error message is chinese) Translated to English, it means (translated) :
This is almost the same with this link: https://unicode-org.atlassian.net/browse/ICU-20555.
Is there anything wrong with my building steps?
Thanks, I've installed
Then build again, I've got a new error:
Translated to English:
Hm, this looks like a bug, as the download should work...
You can use the following command to clone just the
I've tried branch
And I've also tried tag
If you're getting an error with the tag but not the branch then I'd suspect that maybe the clone or checkout didn't work properly.
Note that both
You can check on the command line, or on GitHub by looking at the commits here:
That said, generally speaking, I would really suggest using using the "maint" branches instead of the release tags. The "maint" branches have the same version as a given release, but since they are "maintenance" branches they will often contain additional commits for fixes for bugs and/or security issues that are discovered after a release is published. (Though in this case there is currently nothing additional on the maint branch for ICU 65).
For example, for ICU 64, the
Using a shorter folder path (like checking out to device root) is a work-around for this bug, so you could use ICU 64 with this workaround if that works for you. :)