-
Notifications
You must be signed in to change notification settings - Fork 1.2k
[5.0] Link to the ICU61 libraries that are built for Linux #1984
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- The findICU was not finding the libicu{uc,i18n}swift libraries so libFoundation.so was still being linked to the system ICU libraries.
@swift-ci test |
For background, I spotted this problem when trying to create Swift 5 Docker images on Debian stretch, which ships ICU 57. It wouldn't work because libFoundation wrongly links against 55, instead of the ICU packaged in the toolchain:
|
cc: @weissi you may also be interested in this. |
Update: The tests work because this finds the correct header files so generates calls to the correct (renamed) v61 functions and links to the symbols because |
And @kevints |
What's the process for merging 5.0 SCLF changes at this stage? This looks important to me - @parkera? |
Probably @millenomi and/or @parkera are the release managers for SCLF 5.0 and need to approve this. Not 100% sure what the SCLF process here is though. |
Something seems wrong. The build variant should automatically be filtered through in CMake. Setting the variants explicitly seems incorrect. |
@compnerd It works on
So this work around is just to fix it without trying to get a patch into the main repo. |
I think that it's better to back port that change, since that enables more of the cross-compilation even though its in the main tree. It shouldn't impact Darwin, and is a build time thing, so its low risk. |
@millenomi what do you think? Clock is ticking... |
Sorry for the delay. Both me and @parkera were out of office. Since this is a Foundation-only concern, I am happy taking a SCF patch that doesn’t get ported back to master. LGTM. |
@millenomi / @parkera / @spevans don't we need this for 5.1 and master too? |
@weissi I checked the latest 5.1 snapshot and It doesnt have this issue. There have been quite a large number of cmake changes so this fix is probably out of date for 5.1. |
libFoundation.so was still being linked to the system ICU libraries.
In the master branch,
ICU_UC_LIBRARY_DEBUG
ICU_UC_LIBRARY_RELEASE
ICU_I18N_LIBRARY_DEBUG
andICU_I18N_LIBRARY_RELEASE
are passed in by build-swift-impl, directly set them in CMakeLists.txt here.