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

Reply via email to