Missing libmpi.so.0, dolfin 1.1, ubuntu 12.04

Asked by Paul Constantine

I just installed fenics 1.1 with all dependencies from the PPA with regular 'sudo apt-get install fenics'

I now get the following error when importing dolfin in python.

$ python -c"import dolfin"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/dolfin/__init__.py", line 16, in <module>
    import cpp
  File "/usr/lib/python2.7/dist-packages/dolfin/cpp/__init__.py", line 40, in <module>
    exec("import %s" % module_name)
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/dolfin/cpp/common.py", line 30, in <module>
    _common = swig_import_helper()
  File "/usr/lib/python2.7/dist-packages/dolfin/cpp/common.py", line 26, in swig_import_helper
    _mod = imp.load_module('_common', fp, pathname, description)
ImportError: libmpi.so.0: cannot open shared object file: No such file or directory

libmpi.so.0 doesn't appear anywhere on my system. According to 'locate' I have

$ locate libmpi
...
/usr/lib/libmpi_cxx.so
/usr/lib/libmpi_f77.so
/usr/lib/libmpi_f90.so
/usr/lib/openmpi/lib/libmpi.a
/usr/lib/openmpi/lib/libmpi.la
/usr/lib/openmpi/lib/libmpi.so
/usr/lib/openmpi/lib/libmpi_cxx.a
/usr/lib/openmpi/lib/libmpi_cxx.la
/usr/lib/openmpi/lib/libmpi_cxx.so
/usr/lib/openmpi/lib/libmpi_f77.a
/usr/lib/openmpi/lib/libmpi_f77.la
/usr/lib/openmpi/lib/libmpi_f77.so
/usr/lib/openmpi/lib/libmpi_f90.a
/usr/lib/openmpi/lib/libmpi_f90.la
/usr/lib/openmpi/lib/libmpi_f90.so
...

Question information

Language:
English Edit question
Status:
Solved
For:
DOLFIN Edit question
Assignee:
No assignee Edit question
Solved by:
Paul Constantine
Solved:
Last query:
Last reply:
Revision history for this message
Johannes Ring (johannr) said :
#1

Did you also do a "sudo apt-get dist-upgrade" after installing FEniCS?

libmpi.so.0 should be in the libopenmpi1.3 package on Ubuntu 12.04:

http://packages.ubuntu.com/precise/amd64/libopenmpi1.3/filelist

Also, on Ubuntu 12.04 I get:

(pbuild24607)root@debian-t420s:/# dpkg -L libopenmpi1.3 | grep libmpi.so
/usr/lib/openmpi/lib/libmpi.so.0.0.2
/usr/lib/libmpi.so.0
/usr/lib/libmpi.so.0.0.2

I assume you already have this package since python-dolfin depends on it:

(pbuild24607)root@debian-t420s:/# dpkg -s python-dolfin | grep ^Depends
Depends: libdolfin1.1-dev (= 1.1.0-1~ppa3~precise1), libdolfin1.1 (= 1.1.0-1~ppa3~precise1), python-ufc (>= 2.1.0), python-ffc (>= 1.1.0), python-ufl (>= 1.1.0), python-instant (>= 1.1.0), python-numpy (>= 1:1.6.1), python-netcdf, python-ply, swig2.0 (>= 2.0.4+really2.0.4), swig2.0 (<< 2.0.4+really2.0.5~), python (<< 2.8), python (>= 2.7.1-0ubuntu2), python-numpy-abi9, python2.7, libboost-mpi1.46.1 (>= 1.46.1-1), libboost-serialization1.46.1 (>= 1.46.1-1), libc6 (>= 2.14), libcgal9, libgcc1 (>= 1:4.1.1), libopenmpi1.3, libpetsc3.2, libpython2.7 (>= 2.7), libstdc++6 (>= 4.6)

Maybe you have multiple MPI libraries installed? In that case, run "sudo update-alternatives --config mpi" and make sure it is set to openmpi.

Revision history for this message
Paul Constantine (paul-g-constantine) said :
#2

Had to fiddle with my software sources. Things were pointed at the wrong PPA. Fixed that. Did a fresh install. All's well.

Thanks again.