I had my PETSc use the globally installed MPI. Now it seems they all point to the same MPI library However, now I am getting this new error when running 'make test': cd test; py.test unit --backend=sequential Traceback (most recent call last): File "/usr/local/bin/py.test", line 11, in <module> sys.exit(main()) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 18, in main config = _prepareconfig(args, plugins) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 62, in _prepareconfig pluginmanager=pluginmanager, args=args) File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 376, in __call__ return self._docall(methods, kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 387, in _docall res = mc.execute() File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in execute res = method(**kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/helpconfig.py", line 25, in pytest_cmdline_parse config = __multicall__.execute() File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in execute res = method(**kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 617, in pytest_cmdline_parse self.parse(args) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 710, in parse self._preparse(args) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 690, in _preparse args=args, parser=self._parser) File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 376, in __call__ return self._docall(methods, kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 387, in _docall res = mc.execute() File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in execute res = method(**kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/capture.py", line 42, in pytest_load_initial_conftests return __multicall__.execute() File "/usr/lib/python2.7/dist-packages/_pytest/core.py", line 288, in execute res = method(**kwargs) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 673, in pytest_load_initial_conftests self._conftest.setinitial(args) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 486, in setinitial self._try_load_conftest(anchor) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 492, in _try_load_conftest self._path2confmods[None] = self.getconftestmodules(anchor) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 511, in getconftestmodules clist.append(self.importconftest(conftestpath)) File "/usr/lib/python2.7/dist-packages/_pytest/config.py", line 537, in importconftest self._conftestpath2mod[conftestpath] = mod = conftestpath.pyimport() File "/usr/lib/python2.7/dist-packages/py/_path/local.py", line 620, in pyimport __import__(modname) File "/home/justin/Software/firedrake-deps/PyOP2/test/conftest.py", line 40, in <module> from pyop2 import op2 File "/usr/local/lib/python2.7/dist-packages/PyOP2-0.11.0_341_gbf1441a-py2.7-linux-x86_64.egg/pyop2/__init__.py", line 9, in <module> from op2 import * File "/usr/local/lib/python2.7/dist-packages/PyOP2-0.11.0_341_gbf1441a-py2.7-linux-x86_64.egg/pyop2/op2.py", line 39, in <module> import base File "/usr/local/lib/python2.7/dist-packages/PyOP2-0.11.0_341_gbf1441a-py2.7-linux-x86_64.egg/pyop2/base.py", line 56, in <module> from sparsity import build_sparsity File "PETSc.pxd", line 61, in init pyop2.sparsity (pyop2/sparsity.cpp:22149) ValueError: petsc4py.PETSc.Comm has the wrong size, try recompiling make: *** [unit_sequential] Error 1 I also noticed that the latest pull of the petsc4py repository has now upgraded me from 3.5.1 to 3.6. Could this have something to do with this error? Thanks, Justin On Tue, Jul 14, 2015 at 5:29 AM, Lawrence Mitchell < lawrence.mitchell@imperial.ac.uk> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 14/07/15 11:23, Justin Chang wrote:
python -c "import pyop2; pyop2.init(); print pyop2.__version__" gives the following:
OK, thanks.
I think we're nearly there.
This backtrace points at
/usr/lib/libmpi.so.1(MPI_Comm_set_errhandler+0x4d) [0x7f83c5be3a1d]
The globally installed MPI.
But all the link output points to:
libmpi.so.12 => /home/justin/Software/petsc-dev/arch-linux2-c-opt/lib/libmpi.so.12 (0x00007f780047c000) libmpifort.so.12 => /home/justin/Software/petsc-dev/arch-linux2-c-opt/lib/libmpifort.so.12
(0x00007f77fe670000)
I.e. the MPI version petsc has built for you.
I therefore suspect that the issue is coming from an mpi4py installation that is linked against /usr/lib/libmpi.so (rather than the $PETSC_DIR/$PETSC_ARCH/lib/libmpi.so).
Does the following sequence result in the same set of errors?
python -c "from mpi4py import MPI; from petsc4py import PETSc"
If so, I think the solution is to install mpi4py linked against the same MPI library that petsc and friends are using.
Cheers,
Lawrence -----BEGIN PGP SIGNATURE----- Version: GnuPG v1
iQEcBAEBAgAGBQJVpOSaAAoJECOc1kQ8PEYvkVsH/3MRr3/W1K7oCoRP0Cranr1h IG62KO69/3OP2aA0WjrLXiShK/RBPhHUv3oLzx2wbQUPxuaRIT2uBmrWpH+MJmik j//dYtHrvgXqYPSs2DWNAE0nYJ/6f+AOCtj59gTzT7Wy17h2Vw1brE04eei3qjK2 dJgcMpYrGiYEa+/j6lW/z+q29eODFBAUkbUIRS3hfHxmR63LNSgKLdaUHRFOWZy2 njjTD9JlSobtfLJGWUgMKPaJSdki4+tbr0XmLdMl5CsPcLzTtOW3FrODSu5ZRPt7 shfOSGh7ATrXZ4ioA0JAxDjUcGt7Qyu29ZJ3GntQAX/7ZTEvzOSIj1RgMNChYdM= =tigp -----END PGP SIGNATURE-----
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake