On 06/19/2018 10:18 AM, Stefan Weil wrote: > Am 19.06.2018 um 11:53 schrieb JonY: >> On 06/18/2018 12:12 PM, Stefan Weil wrote: >>> Am 06.06.2018 um 21:13 schrieb Stefan Weil: >>>> Both mingw64-x86_64-icu-57.1-1 and mingw64-x86_64-icu-57.1-2 are broken: >>>> >>>> This code always fails: >>>> >>>> icu::Normalizer2::getInstance(nullptr, "nfkc", UNORM2_COMPOSE, error_code); >>>> >>>> The problem was detected when comparing Tesseract for Windows >>>> executables: while the 32 bit version worked fine, the 64 bit version >>>> failed. The failure could be localized, and the mingw64-x86_64-icu >>>> package was identified to be causing it. >>>> >>>> https://github.com/tesseract-ocr/tesseract/issues/1625#issuecomment-395161152 >>>> contains details and also a short test code which can be used to >>>> reproduce the problem. >>>> >>>> The 32 bit package mingw64-i686-icu-57.1-2 works fine. >>>> >>>> Kind regards >>>> Stefan Weil >>> >>> Ping. How can I help to get this issue fixed? >> >> I noticed cygport is using llvm version of binutils, not sure if that >> broke things. >> >> Was the issue there if you built it yourself with gcc/binutils? > > > No, a local build with x86_64-w64-mingw32-gcc works fine. > Tested with 57.1-2, but also with recent versions of icu. > > A good indicator of a broken installation is a small icudata57.dll: > > $ ls -l /usr/*/sys-root/mingw/bin/icudata57.dll > -rwxr-xr-x 1 25680896 Nov 10 2016 > /usr/i686-w64-mingw32/sys-root/mingw/bin/icudata57.dll > -rwxr-xr-x 1 15872 Nov 10 2016 > /usr/x86_64-w64-mingw32/sys-root/mingw/bin/icudata57.dll > > The (good) file for 32 bit is much larger than the (broken) file for 64 bit. > The cygport post-install debug strip is probably stripping too much. Whoever the maintainer of this package can do a test rebuild with llvm-* binutils temporarily moved away as a test if Cygport is used.