Skip to content

Fix loading app local ICU - #57971

Merged
tarekgh merged 1 commit into
dotnet:mainfrom
tarekgh:FixLoadinfIcuWithAppLocalVersions
Aug 24, 2021
Merged

Fix loading app local ICU#57971
tarekgh merged 1 commit into
dotnet:mainfrom
tarekgh:FixLoadinfIcuWithAppLocalVersions

Conversation

@tarekgh

@tarekghtarekgh commented Aug 23, 2021

Copy link
Copy Markdown
Member

#57942

.NET runtime is using the ICU library for globalization. We have started using a couple of new APIs (e.g., ubrk_close and ubrk_openRules) that we didn't use before. During runtime we get the pointer to such API dynamically from the ICU library libicui18n which works fine when using whatever installed ICU version on the system. The problem occurs when using app-local version (which the app decides to use ICU version installed from NuGet package). The runtime will not be able to resolve the API against libicui18n because NuGet package libraries export these APIs from different library.
The fix here is to use libicuuc instead of libicui18n which guarantees to have API exports in all environments (system installed ICU or app-local ICU).

@tarekghtarekgh self-assigned this Aug 23, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @tarekgh, @safern
See info in area-owners.md if you want to be subscribed.

Issue Details

#57942

.NET runtime is using the ICU library for globalization. We have started using a couple of APIs (e.g., ubrk_close and ubrk_openRules) that we didn't use before. During runtime we get the pointer to such API dynamically from the ICU library libicui18n which works fine when using whatever installed ICU version on the system. The problem occurs when using app-local version (which the app decides to use ICU version installed from NuGet package). The runtime will not be able to resolve the API against libicui18n.
The fix here is to use libicuuc instead of libicui18n which guarantees to have API exports in all environments (system installed ICU or app-local ICU).

Author:tarekgh
Assignees:-
Labels:

area-System.Globalization

Milestone:-

@tarekghtarekgh added this to the 6.0.0 milestone Aug 23, 2021
@tarekgh

Copy link
Copy Markdown
MemberAuthor

CC @martincostello

@tarekgh

Copy link
Copy Markdown
MemberAuthor

#35930

@tarekgh
tarekgh merged commit 2733a88 into dotnet:mainAug 24, 2021
@tarekgh
tarekgh deleted the FixLoadinfIcuWithAppLocalVersions branch August 24, 2021 02:32
@tarekgh

Copy link
Copy Markdown
MemberAuthor

/backport to release/6.0-rc1

@github-actions

Copy link
Copy Markdown
Contributor

Started backporting to release/6.0-rc1: https://github.com/dotnet/runtime/actions/runs/1161031691

@ghostghost locked as resolved and limited conversation to collaborators Sep 23, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tarekgh@eerhardt