question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

donnet 3.1 seems broken on last openSUSE Tumbleweed

See original GitHub issue

Describe the bug

After last OS update dotnet broken. It always show error:

Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.

Perhaps, it cause icu was update from 70 version to 71 version. Maybe this is bug in icu package of openSUSE, but i don’t know why dotnet cant’t find icu, and how check that icu is broken. In OS, icu packages are installed. When i load to snapshot before update icu to 71, dotnet works.

To Reproduce

1 - install dotnet-sdk on last openSUSE Tumbleweed 2 - try use any dotnet commands

Exceptions (if any)

Process terminated. Couldn’t find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support. at System.Environment.FailFast(System.String) at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode() at System.Globalization.GlobalizationMode…cctor() at System.Globalization.CultureData.CreateCultureWithInvariantData() at System.Globalization.CultureData.get_Invariant() at System.Globalization.CultureInfo…cctor() at System.String.ToUpperInvariant() at System.Diagnostics.Tracing.EventSource.GetGuid(System.Type) at System.Diagnostics.Tracing.EventSource…ctor(System.Diagnostics.Tracing.EventSourceSettings, System.String[]) at System.Diagnostics.Tracing.EventSource…ctor() at Microsoft.Build.Eventing.MSBuildEventSource…cctor() at Microsoft.Build.CommandLine.MSBuildApp.Execute(System.String[]) at Microsoft.Build.CommandLine.MSBuildApp.Main(System.String[])

Further technical details

  • Include the output of dotnet --info ~> dotnet --info Process terminated. Couldn’t find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support. at System.Environment.FailFast(System.String) at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode() at System.Globalization.GlobalizationMode…cctor() at System.Globalization.CultureData.CreateCultureWithInvariantData() at System.Globalization.CultureData.get_Invariant() at System.Globalization.CultureInfo…cctor() at System.String.ToLowerInvariant() at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetArch() at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment…cctor() at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetRuntimeIdentifier() at Microsoft.DotNet.Cli.MulticoreJitProfilePathCalculator.CalculateProfileRootPath() at Microsoft.DotNet.Cli.MulticoreJitActivator.StartCliProfileOptimization() at Microsoft.DotNet.Cli.MulticoreJitActivator.TryActivateMulticoreJit() at Microsoft.DotNet.Cli.Program.Main(System.String[]) fish: Job 1, ‘dotnet --info’ terminated by signal SIGABRT (Abort)

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:18 (10 by maintainers)

github_iconTop GitHub Comments

3reactions
janvorlicommented, Apr 27, 2022

@Gankov would setting the CLR_ICU_VERSION_OVERRIDE env variable to the version of ICU you are using before launching your app be an acceptable workaround? The format of the string in this variable is majorVer[.minorVer[.subVer]] (the brackets indicate optional parts).

1reaction
tonibgdcommented, Jun 19, 2022

Thanks for looking into it, it appears .NET Core 3.1 runtime is causing the issue and preventing .NET 6.0 builds that reference Microsoft.NET.Sdk.Functions.

I need .NET Core 3.1 runtime for both my project and also I use some other tools that depend on 3.1, for example Azure Storage Explorer.

I will be using CLR_ICU_VERSION_OVERRIDE=71.1 workaround until I can remove 3.1 runtime

Edit: The same solution has many projects, most are 6.0 but some are still on 3.1, that is what’s causing the issue.

Read more comments on GitHub >

github_iconTop Results From Across the Web

I can no longer update Tumbleweed - Applications
Hello everyone. Yesterday I tried updating the Tumbleweed system, like I always do, using Zypper. Instead of proceeding as usual the program ...
Read more >
Higher version of libicu (6x) installed on OpenSuSE Leap ...
In OpenSuSE, there appears to beno RPM package that provides libicu at version 52. Is it likely that a version of dotnet-runtime will...
Read more >
Socket with .NET Core 3.1: Connection breaks running on ...
Sending through the socket will then lead to an Exception because of a broken pipe. I already tried KeepAlive settings and wrapper ...
Read more >
Install the .NET SDK or the .NET Runtime on openSUSE
Demonstrates the various ways to install .NET SDK and .NET Runtime on openSUSE.
Read more >
openSUSE 15.5 / 15.4 / Tumbleweed NVIDIA Drivers Install ...
This is guide, howto install NVIDIA proprietary drivers (manually using .run files) on openSUSE Leap 15.5/15.4/15.3/Tumbleweed and disable ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found