Я пытаюсь запустить скрипт (про астрофизику) с помощью mpirun. Я выполнил команду:
mpirun -n 3 ./harm
и получил эту ошибку:
/usr/local/bin/hydra_pmi_proxy: error while loading shared libraries: libcr.so.0: cannot open shared object file: No such file or directory
[mpiexec@sajal-Aspire-E5-574] HYD_pmcd_pmiserv_proxy_init_cb (pm/pmiserv/pmiserv_cb.c:448): assert (!closed) failed
[mpiexec@sajal-Aspire-E5-574] HYDT_dmxu_poll_wait_for_event (tools/demux/demux_poll.c:77): callback returned error status
[mpiexec@sajal-Aspire-E5-574] HYD_pmci_wait_for_completion (pm/pmiserv/pmiserv_pmci.c:196): error waiting for event
[mpiexec@sajal-Aspire-E5-574] main (ui/mpich/mpiexec.c:336): process manager error waiting for completion
Примечание: вред - это имя исполняемого скрипта. Я немного погуглил и обнаружил, что если я установлю библиотеку под названием: libcr-dev, указанная выше ошибка (относительно проблемы поиска libcr.so.0) может быть решена. Однако, когда я пытаюсь установить его с помощью:
sudo apt-get install libcr-dev
, я получаю сообщение об ошибке:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libcr-dev
Я пытаюсь найти решение указанной выше проблемы, но мне это не удалось. Я использую ubuntu 20.04. Может ли кто-нибудь мне помочь?
Пакет libcr
последний раз был доступен 18.04 LTS . Чтобы установить его на 20.04 LTS, вам необходимо загрузить и установить его вручную:
cd ~/Downloads
wget -c http://archive.ubuntu.com/ubuntu/pool/universe/b/blcr/libcr0_0.8.5-2.3_amd64.deb
wget -c http://archive.ubuntu.com/ubuntu/pool/universe/b/blcr/libcr-dev_0.8.5-2.3_amd64.deb
sudo apt-get install ./libcr0_0.8.5-2.3_amd64.deb ./libcr-dev_0.8.5-2.3_amd64.deb
Также я должен отметить, что hydra_pmi_proxy
предоставляется официальным пакетом mpich
. Вы можете использовать его вместо локально скомпилированной версии. Это предотвратит проблемы с зависимостями библиотек и пакетов.