cancel
Showing results for 
Search instead for 
Did you mean: 

.NET 8 ICU Error & SCADA Service Crash on STM32MP2 Linux

DEENADHAYALAN
Associate II

Platform Details:

  • Board: STM32MP257-dk and STM32MP257-ev1 series

  • OS: Linux (Debian-based, provided by STM)

  • Architecture: ARM64

  • .NET Version: .NET SDK 8.0.407 (linux-arm64)

  • SCADA System: Rapid SCADA (runs as a systemd service)

Description:

I'm trying to run a .NET 8-based SCADA application (ScadaAgentWkr.dll) on my STM32MP2 embedded Linux system. However, the application crashes when launched via systemd. Here’s what I’ve done and the issues I’m facing:

What I Tried:

  1. Installed .NET SDK 8.0.407 for linux-arm64 from Microsoft.

  2. Installed libicu packages:

    libicudata74 libicuuc74
  3. Configured systemd service at /etc/systemd/system/scadaagent6.service.

  4. Added environment variables to support ICU:

     
    Environment=DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 Environment=LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu
  5. Also tried using a wrapper script to export these before calling dotnet.

Error Logs:

From systemctl status scadaagent6.service:

 

Main PID: XXXX (code=dumped, signal=ABRT) Failed to start Rapid SCADA Agent.
 
Couldn't find a valid ICU package installed on the system. Please install libicu (or icu-libs) using your package manager and try again.
 
status=203/EXEC

Goal:

I need to run the SCADA .NET app as a stable service on STM32MP2, with proper globalization support or fallback using DOTNET_SYSTEM_GLOBALIZATION_INVARIANT.

Request:

  • Can STM32MP2 Linux support full ICU with .NET 8?

  • Is there an official recommendation for using .NET services with systemd on STM32MP2?

  • Any known issues or limitations with libicu or environment variable propagation under systemd?

0 REPLIES 0