Build script fails at multiple points in Windows Cygwin/MSVC environment

Description

I get the following errors while compiling with latest Visual studio(2019), cl version reported as 19.21.27702.2 for amd64.

First point of failure is setting of PYTHONPATH for configuration leading to an error at the end of configuration like this

which is temporarily fixed by replacing colon with semicolon for windows install in here


This needs a more permanent solution in detecting the environment, and doing a on-the-fly replacement for windows build.

Subsequent point of failure is during compiling of icu data. When a data file is created, a directory for it is still unavailable leading to a failure

which can be fixed by manually creating $srcdir/data/out/tmp folder before hand, leading to conclusion that the code generating the folder should be moved before rc is invoked.

Next point of failure occurs during 'make check' testing of the build producing a peculiar error message

I haven't gotten to the bottom of this error, as it seems to be with no ill effect.

There is also an error somewhere with how the environment is setup. If path to cygwin is placed in front, configuration and compilation will not work, yet if this setup is used 'make install' will fail as well, since one of the reported paths is generated in windows format. So to successfully complete 'make install' after 'make' cygwin binaries directory must be moved to the front of the path. Associated error message is:

Activity

Show:
Mario Emmenlauer
September 28, 2020, 6:13 PM

Thanks a lot for this big step forward Artem! Its highly appreciated! I definitely hope we can get this merged some time soon, and I can help maintain the build instructions in the future.

Artem Bondarenko
October 7, 2020, 5:50 PM
Edited

PR sent ; Haven’t check install, it had issues previously, but I might do it later. Python detection was fixed some time ago, idk when tho.

Jeff Genovy
October 8, 2020, 6:20 PM

Thank you very kindly !

I’ve reviewed you PR ( ), and it has now been merged into the master branch.
(Note: The code freeze for ICU 68 was technically supposed to be about week or so ago, but based on discussion in the ICU-TC meeting, it was agreed that this would be a good fix to get into 68).

The process/procedure for handling tickets for ICU is such that all tickets with commits that are shipping in a given version need to be closed (tickets are not permitted to span multiple releases of ICU), so I’ll need to close this bug and mark it for 68.1. If there are still additional issues with the Cygwin builds then we can create a follow-up bug for ICU 69.1, and link it to this one.

Thank you again for the PR Artem!

Jeff Genovy
October 8, 2020, 6:21 PM

Resolving this ticket as tickets with commits cannot span multiple releases. (We can create a follow-up ticket for ICU 69.1 later if needed).

Mario Emmenlauer
October 8, 2020, 7:25 PM

Hooray! Thanks a million! I will test this with 68 when its released and let you know how it goes. Artem, its highly appreciated, and Jeff thanks for following this up!

Assignee

Jeff Genovy

Reporter

Artem Bondarenko

Components

Labels

Reviewer

None

Priority

medium

Time Needed

None

Fix versions

Configure