Error writing ../../../source/data\mappings/cns-11643-1992.ucm (U_FILE_ACCESS_ERROR)


I'm trying to compile ICU4C-67 static using cygwin and MSVC 2019 16.6. I got source code from github and found .bat file that compiles ICU static. However, compilation fails with the errors:
make[0]: Making `install' in `data'
make[1]: Entering directory '/cygdrive/d/PROJ1.5.0/Source/Utility/icu4c-67/build/icu-x86-static-release-vs2019/data'
PATH=../lib:../stubdata:../tools/ctestfw:$PATH ../bin/makeconv -s ../../../source/data -d ./out/build/icudt67l -c mappings/cns-11643-1992.ucm
Warning: mappings/cns-11643-1992.cnv claims to be 'CNS-11643-1992'
Couldn't create the udata mappings/cns-11643-1992.cnv: U_FILE_ACCESS_ERROR
Error writing "./out/build/icudt67l\mappings/cns-11643-1992.cnv" file for "../../../source/data\mappings/cns-11643-1992.ucm" (U_FILE_ACCESS_ERROR)
make[1]: *** [../data/ out/build/icudt67l/cns-11643-1992.cnv] Error 4
make[1]: Leaving directory '/cygdrive/d/PROJ1.5.0/Source/Utility/icu4c-67/build/icu-x86-static-release-vs2019/data'
make: *** [Makefile:153: install-recursive] Error 2

I start compilation from Windows command line:
> build-icu_67.1.bat build x86 static release

Here is result:
Configuring: icu-x86-static-release-vs2019
Building in: D:\PROJ1.5.0\Source\Utility\icu4c-67\build\icu-x86-static-release-vs2019
Install Dir: /cygdrive/d/PROJ1.5.0/Source/Utility/icu4c-67/dist/icu-x86-static-release-vs2019
Install Win: D:\PROJ1.5.0\Source\Utility\icu4c-67\dist\icu-x86-static-release-vs2019
Logging in: "D:\PROJ1.5.0\Source\Utility\icu4c-67\dist\icu-x86-static-release-vs2019\icu-x86-static-release-vs2019.log"
Command: ../../source/runConfigureICU --static-runtime Cygwin/MSVC --prefix=/cygdrive/d/PROJ1.5.0/Source/Utility/icu4c-67/dist/icu-x86-static-release-vs2019 --enable-static --disable-shared --enable-releas
e --disable-debug --disable-layout --disable-layoutex
The system cannot find the file specified.
File not found - *.pdb
1 file(s) copied.


Konstantin Izmailov
April 23, 2020, 2:57 AM

Jeff, thank you a lot for that link! The trick worked!

It successfully created static libraries as I needed, but icu.log showed:

fatal error LNK1181: cannot open input file ‘srtest.obj’

I guess I can ignore the above since .lib files were built.

Also, could you suggest what is the right way to reference static Windows runtime instead of DLLs. Basically, how to pass //MT compiler parameter (default is //MD)?

Jeff Genovy
April 22, 2020, 5:59 PM

This is likely a dupe of , which contains a work-around patch.

Unfortunately I don’t have much time to work on Cygwin though.


Jeff Genovy


Konstantin Izmailov




Fix versions