Невозможно загрузить DLL 'Microsoft.Quantum.Simulator.Runtime.dll' (CentOS 7)

Я пытаюсь заставить Пакет Microsoft Quantum Development Kit работать на машине CentOS 7. Я следовал инструкции для установки dotnet, и тривиальный dotnet 'Hello World' работает. Я также установил Visual Studio с yum и установил Microsoft Quantum Development Kit для Visual Studio из проводника Visual Studio.

После клонирования репозитория на github. Я попробую:

dotnet_vm: Teleportation$ cd ~/Quantum/Samples/Teleportation/
dotnet_vm: Teleportation$ scl enable rh-dotnet21 bash
dotnet_vm: Teleportation$ dotnet run
/home/user/Quantum/Microsoft.Quantum.Canon/Microsoft.Quantum.Canon.csproj : warning NU1603: Microsoft.Quantum.Canon depends on NETStandard.Library (>= 2.0.2-servicing-25519-03) but NETStandard.Library 2.0.2-servicing-25519-03 was not found. An approximate best match of NETStandard.Library 2.0.2 was resolved. [/home/user/Quantum/Samples/Teleportation/TeleportationSample.csproj]
/home/user/Quantum/Microsoft.Quantum.Canon/Microsoft.Quantum.Canon.csproj : warning NU1603: Microsoft.Quantum.Canon depends on NETStandard.Library (>= 2.0.2-servicing-25519-03) but NETStandard.Library 2.0.2-servicing-25519-03 was not found. An approximate best match of NETStandard.Library 2.0.2 was resolved.

Unhandled Exception: System.DllNotFoundException: Unable to load shared library 'Microsoft.Quantum.Simulator.Runtime.dll' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libMicrosoft.Quantum.Simulator.Runtime.dll: cannot open shared object file: No such file or directory
   at Microsoft.Quantum.Simulation.Simulators.QuantumSimulator.Init()
   at Microsoft.Quantum.Simulation.Simulators.QuantumSimulator..ctor(Boolean throwOnReleasingQubitsNotInZeroState, Nullable`1 randomNumberGeneratorSeed, Boolean disableBorrowing)
   at Microsoft.Quantum.Examples.Teleportation.Program.Main(String[] args) in /home/user/Quantum/Samples/Teleportation/Program.cs:line 13

Этот выглядит как та же ошибка. Я попробовал то, что считал эквивалентом Linux:

cp ~/.nuget/packages/microsoft.quantum.development.kit/0.2.1809.701-preview/runtimes/linux-x64/native/Microsoft.Quantum.Simulator.Runtime.dll ~/.nuget/packages/microsoft.quantum.development.kit/0.2.1809.701-preview/lib/netstandard2.0/

Я все еще получаю ту же ошибку. Кроме того, на моем компьютере не включен набор инструкций AVX (что может быть потенциальной проблемой?).

Например.

 grep flags /proc/cpuinfo 
flags       : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl pni cx16 hypervisor lahf_lm abm
flags       : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl pni cx16 hypervisor lahf_lm abm
dotnet_vm: Teleportation$ 

У меня нет опыта работы с Windows, и они не похожи на типичные библиотеки Linux (не .so или .a).

ВОПРОС: Как мне заставить это работать?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
476
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Microsoft.Quantum.Simulator.Runtime.dll - это обычная библиотека Linux (.so), она просто переименована, чтобы упростить поддержку кроссплатформенности.

Это похоже на проблему, аналогичную той, что вы связались, однако вам следует изучить ответ Ubuntu: используйте ldd, чтобы выяснить, каковы зависимости, и установить все, что отсутствует. Как и в этом посте, проблема, скорее всего, в том, что вам не хватает libgomp, но я не знаком с CentOS.

Отсутствие включения AVX замедлит работу, особенно при работе с большим количеством кубитов, но вы все равно сможете работать.

Ответ принят как подходящий

После ответа Эль капи я просмотрел библиотеки, связанные с: например.

dotnet_vm: gcc-5.1.0$ ldd /home/user/.nuget/packages/microsoft.quantum.development.kit/0.2.1809.701-preview/lib/netstandard2.0/Microsoft.Quantum.Simulator.Runtime.dll
/home/user/.nuget/packages/microsoft.quantum.development.kit/0.2.1809.701-preview/lib/netstandard2.0/Microsoft.Quantum.Simulator.Runtime.dll: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/user/.nuget/packages/microsoft.quantum.development.kit/0.2.1809.701-preview/lib/netstandard2.0/Microsoft.Quantum.Simulator.Runtime.dll)
/home/user/.nuget/packages/microsoft.quantum.development.kit/0.2.1809.701-preview/lib/netstandard2.0/Microsoft.Quantum.Simulator.Runtime.dll: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/user/.nuget/packages/microsoft.quantum.development.kit/0.2.1809.701-preview/lib/netstandard2.0/Microsoft.Quantum.Simulator.Runtime.dll)
/home/user/.nuget/packages/microsoft.quantum.development.kit/0.2.1809.701-preview/lib/netstandard2.0/Microsoft.Quantum.Simulator.Runtime.dll: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/user/.nuget/packages/microsoft.quantum.development.kit/0.2.1809.701-preview/lib/netstandard2.0/Microsoft.Quantum.Simulator.Runtime.dll)
    linux-vdso.so.1 =>  (0x00007fff2f12b000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f1fb5fee000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f1fb5cec000)
    libgomp.so.1 => /lib64/libgomp.so.1 (0x00007f1fb5ac6000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f1fb56f9000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f1fb656a000)

Чтобы решить эту проблему с версией в отношении GLIBCXX_3.4.21, я установил gcc-5.1.0 (и его зависимости). Затем запускаем код:

dotnet_vm: Teleportation$ dotnet run
/home/user/Quantum/Microsoft.Quantum.Canon/Microsoft.Quantum.Canon.csproj : warning NU1603: Microsoft.Quantum.Canon depends on NETStandard.Library (>= 2.0.2-servicing-25519-03) but NETStandard.Library 2.0.2-servicing-25519-03 was not found. An approximate best match of NETStandard.Library 2.0.2 was resolved. [/home/user/Quantum/Samples/Teleportation/TeleportationSample.csproj]
/home/user/Quantum/Microsoft.Quantum.Canon/Microsoft.Quantum.Canon.csproj : warning NU1603: Microsoft.Quantum.Canon depends on NETStandard.Library (>= 2.0.2-servicing-25519-03) but NETStandard.Library 2.0.2-servicing-25519-03 was not found. An approximate best match of NETStandard.Library 2.0.2 was resolved.
Round 0:    Sent True,  got True.
Teleportation successful!!

Round 1:    Sent False, got False.
Teleportation successful!!

Round 2:    Sent True,  got True.
Teleportation successful!!

Round 3:    Sent False, got False.
Teleportation successful!!

Round 4:    Sent True,  got True.
Teleportation successful!!

Round 5:    Sent False, got False.
Teleportation successful!!

Round 6:    Sent True,  got True.
Teleportation successful!!

Round 7:    Sent False, got False.
Teleportation successful!!



Press Enter to continue...

Это сработало!

Другие вопросы по теме