Эльбрус/dotnet
< Эльбрус
Net Core 3.1
- Получите SDK у МЦСТ.
- Распакуйте содержимое в /opt/mcst/dotnet
- Установите переменную окружения к dotnet: export PATH=/opt/mcst/dotnet:$PATH
- Отключаем проверку сокетов (нужно для работы NuGet): export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0
- Отключаем ETW, если не нужно трассирование и счётчики перформанса: export COMPlus_EnableDiagnostics=0
Проверяем:
:~$ dotnet --info Пакет SDK для .NET Core (отражающий любой global.json): Version: 3.1.114 Commit: 07ddd844dc Среда выполнения: OS Name: elbrus OS Version: 6 OS Platform: Linux RID: ubuntu.16.04-x64 Base Path: /opt/mcst/dotnet/sdk/3.1.114/ Host (useful for support): Version: 3.1.12 Commit: 1dbb9c89c3 .NET Core SDKs installed: 3.1.114 [/opt/mcst/dotnet/sdk] .NET Core runtimes installed: Microsoft.AspNetCore.App 3.1.14 [/opt/mcst/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 3.1.14 [/opt/mcst/dotnet/shared/Microsoft.NETCore.App] To install additional .NET Core runtimes or SDKs: https://aka.ms/dotnet-download
Проблема:
- Прикидываемся X64 (RID: ubuntu.16.04-x64)
- Нужно собирать нативные .so зависимости и размещать в runtime/native/<rid>
- Пока нет понятия E2K в рантайме и типах.
ALT
По состоянию на начало апреля 2022 года можно установить пакет dotnet-bootstrap-3.1 из sisyphus_e2k либо p10_e2k:
# apt-get install dotnet-bootstrap-3.1
и далее:
$ export PATH=/usr/lib64/dotnet-bootstrap-3.1:$PATH DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 COMPlus_EnableDiagnostics=0 $ dotnet --info
(работу с переменными можно занести в ~/.bashrc или в настройки шелла по вкусу)
Пример правки .bashrc
Можно добавить в файл ~/.bashrc путь к dotnet через переменную DOTNET_ROOT, которая потребуется при запуске не self-contained приложений:
DOTNET_ROOT="/opt/mcst/dotnet" PATH=$PATH:$DOTNET_ROOT DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 export DOTNET_ROOT PATH DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER