Установите OpenMPI из репозитория с помощью GCC вместо Intel

Я хотел бы установить openmpi из репозитория и использовать его с GCC. Проблема в том, что я также установил библиотеки Intel, и это вызывает такие проблемы:

mpicc.openmpi --version mpicc.openmpi: error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory 

Версия моего GCC:

 gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609 

Я пытаюсь установить openmpi со следующей командой:

 sudo aptitude install openmpi-bin libopenmpi-dev 

Итак, как я могу установить OpenMPI из репозиториев таким образом, чтобы игнорировать библиотеки Intel и использовать только GCC?


РЕДАКТИРОВАТЬ

 which mpicc.openmpi /usr/bin/mpicc.openmpi ldd $(which mpicc.openmpi) linux-vdso.so.1 => (0x00007fffd6fc0000) libopen-pal.so.13 => /usr/local/lib/libopen-pal.so.13 (0x00007f9b0c8d0000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9b0c6b3000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9b0c2e9000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9b0bfe0000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9b0bddc000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9b0bbd3000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f9b0b9d0000) libimf.so => not found libsvml.so => not found libirng.so => not found libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9b0b7b9000) /lib64/ld-linux-x86-64.so.2 (0x000056030ed59000) libintlc.so.5 => not found 

Я установил пакет Intel для Intel® Parallel Studio XE | Intel® Software вручную (например, ./install_gui.sh).


EDIT 2

Я попытался переустановить OpenMPI с помощью

 sudo apt-get install --reinstall openmpi-bin libopenmpi-dev 

и с

 sudo apt-get purge openmpi-bin libopenmpi-dev sudo apt-get install openmpi-bin libopenmpi-dev 

но ни один из них не имел желаемого эффекта, библиотека все еще связана с библиотеками Intel.

Библиотеки Intel расположены в /opt/intel .


ИЗМЕНИТЬ 3

 ls -l /usr/bin/mpicc.openmpi /usr/bin/opal_wrapper; apt-cache policy openmpi-bin libopenmpi-dev lrwxrwxrwx 1 root root 12 Feb 25 2016 /usr/bin/mpicc.openmpi -> opal_wrapper -rwxr-xr-x 1 root root 18928 Feb 25 2016 /usr/bin/opal_wrapper apt-cache policy openmpi-bin libopenmpi-dev openmpi-bin: Installed: 1.10.2-8ubuntu1 Candidate: 1.10.2-8ubuntu1 Version table: *** 1.10.2-8ubuntu1 500 500 http://at.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages 100 /var/lib/dpkg/status libopenmpi-dev: Installed: 1.10.2-8ubuntu1 Candidate: 1.10.2-8ubuntu1 Version table: *** 1.10.2-8ubuntu1 500 500 http://at.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages 100 /var/lib/dpkg/status 

  • Как кажется, Intel mpicc.openmpi переписывает официальный файл из репозитория или одной из его связанных библиотек.

    Вот мой вывод:

     ~$ dpkg -S /usr/bin/mpicc.openmpi libopenmpi-dev: /usr/bin/mpicc.openmpi ~$ ldd /usr/bin/mpicc.openmpi linux-vdso.so.1 => (0x00007ffd785f4000) libopen-pal.so.13 => /usr/lib/libopen-pal.so.13 (0x00007ff1d848d000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff1d8270000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff1d7ea6000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff1d7ca2000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff1d7a9a000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007ff1d7896000) libhwloc.so.5 => /usr/lib/x86_64-linux-gnu/libhwloc.so.5 (0x00007ff1d765c000) /lib64/ld-linux-x86-64.so.2 (0x000056499326f000) libnuma.so.1 => /usr/lib/x86_64-linux-gnu/libnuma.so.1 (0x00007ff1d7450000) libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7 (0x00007ff1d7246000) 

    Он не передает эти недостающие библиотеки.

  • Чтобы исправить это, вы можете переустановить libopenmpi:

     sudo apt-get install --reinstall openmpi-bin libopenmpi-dev 
  • Также обратите внимание на /usr/local/lib/libopen-pal.so.13 . Он находится в папке /usr/local/lib/ поэтому имеет более высокий приоритет, чем официальный, в /usr/lib/ .

    Проверьте все версии sud, используя

     ls -l /usr/local/lib/libopen-pal.so.13* 

    затем переименуйте их, например

     sudo mv /usr/local/lib/libopen-pal.so.13 /usr/local/lib/libopen-pal.so.13.backup