dotnet / dotnet/runtime

.NET 8 fails to detect installed ICU on Ubuntu 25.10 (aarch64)

Open
#126,603 4 comments 0 reactions 0 assignees View on GitHub
area-System.Globalization needs-author-action no-recent-activity
Dominant language
C#
Stars
18.3k
Forks
5.6k
PR merge metrics
PR metrics pending

Description

### Description

I am running a .NET application on Linux (aarch64). The application works correctly on Ubuntu 22.04 and 24.04. However, it fails to start on Ubuntu 25.10 with the following error:

`Process terminated. Couldn't find a valid ICU package installed on the system. Please install libicu (or icu-libs) using your package manager and try again. Alternatively you can set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support. Please see https://aka.ms/dotnet-missing-libicu for more information.`

I have verified that ICU is installed:
```
aptitude search libicu
i libicu-dev - Development files for International Components for Unicode
p libicu4j-4.4-java - Library for Unicode support and internationalization
p libicu4j-java - Library for Unicode support and internationalization
i A libicu76 - International Components for Unicode
```

The application is running on .NET 8.0.25. The same application and .NET version work correctly on an x64 machine running Ubuntu 26.04.

### Reproduction Steps

1. Set up an Ubuntu 25.10 (aarch64) environment
2. Install .NET 8.0.25
3. Install ICU (`libicu`) via the package manager
4. Run a .NET application that depends on ICU

### Expected behavior

The application starts and runs successfully.

### Actual behavior

The application terminates at startup with the ICU-related error shown above.

### Regression?

_No response_

### Known Workarounds

_No response_

### Configuration

- **.NET version:** 8.0.25
- **OS:** Ubuntu 25.10
- **Architecture:** aarch64

### Other information

Setting the environment variable `DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1` allows the application to start, but it subsequently crashes with the following exception:

```
System.Globalization.CultureNotFoundException: Only the invariant culture is supported in globalization-invariant mode. See https://aka.ms/GlobalizationInvariantMode for more information. (Parameter 'name')
en-US is an invalid culture identifier.
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the startup failure using the listed Ubuntu 25.10 aarch64 and .NET 8.0.25 configuration, then compare it with the working Ubuntu versions and x64 environment. Start from the ICU-related startup error and verify that the application starts with normal globalization support and can create the en-US culture without relying on invariant mode.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, linux, ubuntu
Domain
internationalization, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.