我正在尝试使用 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
注意:harm 是可执行脚本的名称。我进行了一些谷歌搜索,发现如果我安装名为 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。有人能帮助我吗?
答案1
该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
软件包。您可以使用它来代替本地编译的版本。这将避免库和软件包依赖关系出现问题。