Эльбрус/dotnet: различия между версиями

Материал из ALT Linux Wiki
(RID всё же ubuntu.16.04-x64)
(→‎Net Core 3.1: RID теперь linux-e2k)
 
(не показана 1 промежуточная версия этого же участника)
Строка 13: Строка 13:


Пакет SDK для .NET Core (отражающий любой global.json):
Пакет SDK для .NET Core (отражающий любой global.json):
  Version:  3.1.114
  Version:  3.1.114-1.8.7
  Commit:    07ddd844dc
  Commit:    fb987199d2


Среда выполнения:
Среда выполнения:
  OS Name:    elbrus
  OS Name:    elbrus
  OS Version:  6
  OS Version:  7
  OS Platform: Linux
  OS Platform: Linux
  RID:        ubuntu.16.04-x64
  RID:        linux-e2k
  Base Path:  /opt/mcst/dotnet/sdk/3.1.114/
  Base Path:  /opt/mcst/dotnet/sdk/3.1.114/


Host (useful for support):
Host (useful for support):
   Version: 3.1.12
   Version: 3.1.12
   Commit:  1dbb9c89c3
   Commit:  826c2c2f8f


.NET Core SDKs installed:
.NET Core SDKs installed:
Строка 36: Строка 36:
To install additional .NET Core runtimes or SDKs:
To install additional .NET Core runtimes or SDKs:
   https://aka.ms/dotnet-download
   https://aka.ms/dotnet-download
</pre>
 


Проблема:
Проблема:


* Прикидываемся X64 (RID: ubuntu.16.04-x64)
* Нужно собирать нативные .so зависимости и размещать в runtime/native/<rid>
* Нужно собирать нативные .so зависимости и размещать в runtime/native/<rid>
* Пока нет понятия E2K в рантайме и типах.
* Пока нет понятия E2K в рантайме и типах.
Строка 56: Строка 55:


(работу с переменными можно занести в ~/.bashrc или в настройки шелла по вкусу)
(работу с переменными можно занести в ~/.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


{{Category navigation|title=E2K|category=E2K|sortkey=*}}
{{Category navigation|title=E2K|category=E2K|sortkey=*}}

Текущая версия от 15:41, 12 декабря 2022

Net Core 3.1

  1. Получите SDK у МЦСТ.
  2. Распакуйте содержимое в /opt/mcst/dotnet
  3. Установите переменную окружения к dotnet: export PATH=/opt/mcst/dotnet:$PATH
    1. Отключаем проверку сокетов (нужно для работы NuGet): export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0
    2. Отключаем ETW, если не нужно трассирование и счётчики перформанса: export COMPlus_EnableDiagnostics=0

Проверяем:

:~$ dotnet --info

Пакет SDK для .NET Core (отражающий любой global.json):
 Version:   3.1.114-1.8.7
 Commit:    fb987199d2

Среда выполнения:
 OS Name:     elbrus
 OS Version:  7
 OS Platform: Linux
 RID:         linux-e2k
 Base Path:   /opt/mcst/dotnet/sdk/3.1.114/

Host (useful for support):
  Version: 3.1.12
  Commit:  826c2c2f8f

.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


Проблема:

* Нужно собирать нативные .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