On 2015-01-28 14:22, Maarten wrote:
Almost there (I hope)! I removed everything (step 7) and installed
again with "conda install "fenics=1.4.0" mkl --channel
https://conda.binstar.org/juanlu001/channel/fenics:1.4.0:centos". Here
is the result again.
>>> import dolfin
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File
"<INSTALL_PATH>/anaconda/lib/python2.7/site-packages/dolfin/__init__.py",
line 16, in <module>
import cpp
File
"<INSTALL_PATH>/anaconda/lib/python2.7/site-packages/dolfin/cpp/__init__.py",
line 42, in <module>
exec("import %s" % module_name)
File "<string>", line 1, in <module>
File
"<INSTALL_PATH>/anaconda/lib/python2.7/site-packages/dolfin/cpp/common.py",
line 32, in <module>
_common = swig_import_helper()
File
"<INSTALL_PATH>/anaconda/lib/python2.7/site-packages/dolfin/cpp/common.py",
line 28, in swig_import_helper
_mod = imp.load_module('_common', fp, pathname, description)
ImportError:
<OTHER_INSTALL_PATH>/bin/opt/intel/ifc12.1/composer_xe_2011_sp1.9.293/mkl/lib/intel64/libmkl_sequential.so:
undefined symbol: mkl_serv_mkl_print
Hoping this will be the last hurdle.
Hmmm... I am afraid this will be a harder one :/
The problem is that you already have a working MKL in your system (in
<OTHER_INSTALL_PATH>/bin/opt/intel/ifc12.1/composer_xe_2011_sp1.9.293/mkl/)
and thus dolfin is ignoring the one in <INSTALL_PATH>/anaconda/lib/.
Some version mismatch is probably causing the problem.
I guess your output of
$ ldd .../_common.so | grep libmkl_sequential.so
points to <OTHER_INSTALL_PATH>. The only thing I can think of is that
you may have a non empty $LD_LIBRARY_PATH, and this is modifying the
directories where the libraries are looked up. If I am correct,
stripping the corresponding path from $LD_LIBRARY_PATH and repeating the
ldd step should yield the MKL libraries located in the conda
environment. I might not be correct though, and perhaps there is
something I misunderstood from the conda building process...
In case this doesn't work, I don't really know what else you can do. The
only other thing I can suggest you is removing the conda mkl package and
rebuilding petsc, petsc4py and dolfin yourself. In petsc/build.sh, you
have to change "--with-blas-lapack-dir", and in dolfin/build.sh you have
to change BLAS_DIR. (Also, you have to remove "mkl" from all the recipes).
If you start rebuilding the packages, conda will try to build the
dependencies recursively. In case you want to avoid this, you should add
my channel to the list of default channels:
$ conda config --add channel
https://conda.binstar.org/juanlu001/channel/fenics:1.4.0:centos
Lastly, make sure you increment the build numbers in */meta.yaml to
avoid problems with the cached packages, as happened with boost (that
one was my fault).
Good luck!
Juan Luis Cano
_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support