Couple of more points:
I am attempting to rebuild dolfin 0.9.0 after switching the defaults in
debian (as suggested by Harish, i.e. update-alternatives to openmpi),
however build fails with the following error (oddly enough build did not
fail before this change !! ).
mpic++ -o dolfin/swig/cpp_wrap.os -c -Wall -pipe -ansi -Werror -DDEBUG
-g -DNDEBUG -O2 -DHAS_MPI=1 -DMPICH_IGNORE_CXX_SEEK
-DPACKAGE_VERSION=\"0.9.0\" -DHAS_PETSC=1 -DHAS_SCOTCH=1 -DHAS_UMFPACK=1
-DHAS_GTS=1 -DHAS_CHOLMOD=1 -fno-strict-aliasing -fPIC -I.
-I/usr/include -I/usr/include -I/usr/include/libxml2
-I/usr/lib/petsc/bmake/linux-gnu-c-opt -I/usr/lib/petsc/include
-I/usr/lib/openmpi/include -I/usr/lib/openmpi/lib -Idolfin
-I/usr/include/scotch -I/usr/include/suitesparse -I/usr/include
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/suitesparse -I/usr/include/python2.5
-I/usr/include/python2.5
-I/usr/lib/python2.5/site-packages/numpy/core/include -I/usr/include
-I/usr/include -I/usr/include/libxml2
-I/usr/lib/petsc/bmake/linux-gnu-c-opt -I/usr/lib/petsc/include
-I/usr/lib/openmpi/include -I/usr/lib/openmpi/lib -Idolfin
-I/usr/include/scotch -I/usr/include/suitesparse -I/usr/include
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/suitesparse dolfin/swig/cpp_wrap.cc
cc1plus: warnings being treated as errors
dolfin/swig/cpp_wrap.cc: In function 'PyObject*
_wrap_new_LUSolver(PyObject*, PyObject*)':
dolfin/swig/cpp_wrap.cc:52898: error: 'argv[0]' may be used
uninitialized in this function
dolfin/swig/cpp_wrap.cc: In function 'PyObject* _wrap_summary(PyObject*,
PyObject*)':
dolfin/swig/cpp_wrap.cc:29895: error: 'argv[0]' may be used
uninitialized in this function
dolfin/swig/cpp_wrap.cc: In function 'PyObject*
_wrap_new_TimeDependent(PyObject*, PyObject*)':
dolfin/swig/cpp_wrap.cc:27852: error: 'argv[0]' may be used
uninitialized in this function
dolfin/swig/cpp_wrap.cc: In function 'PyObject*
_wrap_new_Vector(PyObject*, PyObject*)':
dolfin/swig/cpp_wrap.cc:48256: error: 'argv[0]' may be used
uninitialized in this function
dolfin/swig/cpp_wrap.cc: In function 'PyObject*
_wrap_new_Table(PyObject*, PyObject*)':
dolfin/swig/cpp_wrap.cc:30972: error: 'argv[0]' may be used
uninitialized in this function
dolfin/swig/cpp_wrap.cc: In function 'PyObject*
_wrap_new_Mesh(PyObject*, PyObject*)':
dolfin/swig/cpp_wrap.cc:79066: error: 'argv[0]' may be used
uninitialized in this function
dolfin/swig/cpp_wrap.cc: In function 'PyObject*
_wrap_new_DiscreteFunction(PyObject*, PyObject*)':
dolfin/swig/cpp_wrap.cc:63711: error: 'argv[0]' may be used
uninitialized in this function
scons: *** [dolfin/swig/cpp_wrap.os] Error 1
scons: building terminated because of errors.
Looks like either -Werror flag will need to be done away with or
cpp_wrap.cc may need to be fixed to elminate warnings. Unfortunately I
am not familiar with scons to fix this.
Also I noticed though building dolfin requires MPI there is no explicit
build dependency in the Build-Depends line of the debian/control file.
It is listed as :
Build-Depends: debhelper (>= 5), python (>=2.5), python-central (>=
0.5.6), scons, swig (>= 1.3.36), python-dev, python-numpy, libgts-dev,
libxml2-dev, libboost-dev, libsuitesparse-dev, petsc2.3.3-dev, ufc (>= 1.1)
Note: (Only change made by me are replacing python-all by python (>=2.5)
and swig (>=1.3.37) by swig (>=1.3.36) for reasons discussed in this thread.
This line must also have "libopenmpi-dev" in it or better
"libopenmpi-dev | libmpich1.0-dev" if fenics is indeed compatible with
both openmpi and mpich and requires MPI (as suggested by enableMPI=1 in
debian/rules)!.