We're updating the issue view to help you get more done. 

ICU4C build fails on Windows when building from a long folder path


Reported by Jamie Dale on the icu-support mailing list:

I downloaded the src and data zips for the ICU 64 release, extracted both and replaced the src version of source/data with the data folder from the data zip.

I then opened up allinone.sln and built makedata (VS 2017) and it fails when genrb.exe is invoked for the locales build with the usePoolBundle flag, as that pushes the command line over its limit.

My root directory for ICU is D:\Downloads\icu4c-64_1-src\icu and I'm running Windows 10 (1709).

I could probably try running it from a shorter root directory, as the call with the writePoolBundle flag works, but adding the path for usePoolBundle makes it too long.

I can confirm that the data builds fine if built from D:\icu

I've been mostly building ICU from very short folder paths, which might explain why I haven’t seen this before.
Also, the CI builds also use very short paths as well, which is why it didn't show up there.


Pasting in the error message from the logs for search-ability:

1 2 3 4 5 31>!!! ERROR executing above command line: exit code 1 31>NMAKE : fatal error U1077: 'C:\WINDOWS\py.EXE' : return code '0x1' 31>Stop. 31>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets(44,5): error MSB3073: The command "NMAKE /f makedata.mak ICUMAKE="G:\c\test\long-folder-path-name\testing\icu\icu4c\source\data\\" CFG=x64\Release" exited with code 2. 31>Done building project "makedata.vcxproj" -- FAILED.




Jeff Genovy


Jeff Genovy



Shane Carr

Time Needed


Start date



Fix versions