Becuwe Stefan wrote:
I have installed (in non standard directories)
from kwant.linalg import mumps Traceback (most recent call last): File "<stdin>", line 1, in <module> File "[…]/lib/python2.7/site-packages/kwant-1.1.1-py2.7-linux-x86_64.egg/kwant/linalg/mumps.py",
* MUMPS 5.0.1 * * SCOTCH 6.0.4 * METIS 5.1.0 (...) However, it seems something is going wrong since MUMPS cannot be loaded. I tried both kwant 1.0.5 and 1.1.1. (...) line 17, in <module> from . import _mumps ImportError: […]/lib/python2.7/site-packages/kwant-1.1.1-py2.7-linux-x86_64.egg/kwant/linalg/_mumps.so: undefined symbol: scotchfdgraphcorderinit_
Hi Stefan, You might be actually the first one to try to run Kwant with MUMPS 5 and SCOTCH 6. I have been always using MUMPS 4 and SCOTCH 5 so far (as found in Debian), and I do not know of anyone who has tried newer versions. But I believe that both SCOTCH and MUMPS have not introduced backwards-incompatible changes so Kwant should work with them. The routine scotchfdgraphcorderinit that appears in your error message above belongs to the SCOTCH _distributed_ library [1] a.k.a PT-SCOTCH. Kwant only uses the sequential library. The symbol scotchfdgraphcorderinit that appears in your error message can only be found in the parallel version of scotch: $ grep -lo scotchfdgraphorderinit *.so libptscotch-5.1.so The name of the sequential version occurs both SCOTCH and PT-SCOTCH: $ grep -lo scotchfgraphorderinit *.so libptscotch-5.1.so libscotch-5.1.so So, it seems to me, that your problem is due to including some bits of parallel SCOTCH or MUMPS while Kwant only requires the sequential version. You could check whether you have compiled your MUMPS with PT-SCOTCH support. You can use the tool “ldd” to see the dynamic libraries that some binary has been linked to. Neither _mumps.so nor libscotch.so should have any references to ptscotch. I hope that the above can help you a bit. Please keep us updated about your progress. Christoph