On 2015-01-29 17:08, Maarten wrote:
Hello again,
I installed everything again locally from scratch, including anaconda.
I made sure $LD_LIBRARY_PATH was empty before installing anything, as
this seemed to be the culprit indeed.
This time 'import dolfin' worked without problems, just as a demo I
tried \o/
I have tried the (apparently outdated) dorsal script, the
(not-yet-for-every-platform) new install script — compiling all
packages from scratch, but now it finally works! Granted, CentOS might
not be the most thankful platform to support, but I think anaconda and
this FEniCS package will make life a lot easier for the
not-entirely-familiar-with-linux-yet folks like me.
Thanks!
Maarten
Oh I am so happy to read that! :D Thank you very much for your patience
and perseveration, I have learned a lot of things about compilation and
dynamic linking thanks to this and I am glad it finally helped you.
Good luck with your Linux & FEniCS journey :) Hope this long discussion
helps others too!
Regards,
Juan Luis
On 28 January 2015 at 23:12, Juan Luis Cano <[email protected]
<mailto:[email protected]>> wrote:
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