← Back to team overview

dorsal team mailing list archive

Re: Installing on a mac

 

Peter Monk skrev 2010-10-21 15.11:
Thank you everyone who has addressed my question.  I regret that the fixes do not seem to work.  Here is what I did:

1) I deleted all of macports and the ported software following the uninstall directions in macports documentation (the idea being to start as close as possible to my friend's computer that successfully installed FEniCS).

2) I reinstalled a new version macports and  installed only  what is needed by dorsal.  This failed because swig-python has a bug that doesn't install pcre.  Porting pcre  and then swig-python fixes that problem.

I had the same problem yesterday and solved it in the same way.

3) I edited platforms/supported/snowleopard.platform and added

default LAPACKANDBLAS_DIR=/opt/intel/Compiler/11.1/088/Frameworks/mkl/Libraries/em64t

to try to get a good LAPACK and BLAS

I never tried this.

4) I edited packages/dolfin.package and dolfin-stable.package as suggested by Dr Ring and added

CONFOPTS="-DMETIS_LIBRARY=${INSTALL_PATH}/lib/libmetis.a"

5) I reinstalled a fresh version of FEniCS

6) I then got the following error message during the configuring of petsc

Building petsc-3.1-p4
===============================================================================
              Configuring PETSc to compile on your system
===============================================================================
===============================================================================
                  WARNING! Compiling PETSc with no debugging, this should
                                only be done for timing and production runs. All developme
                       be done when configured using --with-debugging=1          ===============================================================================
TESTING: FortranMPICheck from config.packages.MPI(config/BuildSystem/config/pack
*******************************************************************************
          UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):
-------------------------------------------------------------------------------
Fortran error! mpif.h could not be located at: [ ]
*
Thats odd because mpif.h exists in petsc's own directory structure but the location seems empty....

That's strange. Did you change any options in the platform file or the PETSc package file to add options to PETSc (like --download-hypre=yes).

As far as I understand, this is still broken on Mac in Dorsal so Mac users need to live without Hypre etc since it requires some communication problems between Fortran and MPI to be resolved...

7) So I  installed openmpi using macports (I need this for another project anyway).  I note that by this time there are metis libraries in /opt/local/lib and in ~/FEniCS/lib.  Then I remade a fresh version of FEniCS.  This time dorsal.sh completed without an obvious failure. I tried the poisson demo in python and got

Peter-Monks-MacBook:python monk$ python demo.pyTraceback (most recent call last):
   File "demo.py", line 22, in<module>
     from dolfin import *
   File "/Users/monk/FEniCS/lib/python2.6/site-packages/dolfin/__init__.py", line 13, in<module>
     import dolfin.cpp as cpp
   File "/Users/monk/FEniCS/lib/python2.6/site-packages/dolfin/cpp.py", line 28, in<module>
     _cpp = swig_import_helper()
   File "/Users/monk/FEniCS/lib/python2.6/site-packages/dolfin/cpp.py", line 24, in swig_import_helper
     _mod = imp.load_module('_cpp', fp, pathname, description)
ImportError: dlopen(/Users/monk/FEniCS/lib/python2.6/site-packages/dolfin/_cpp.so, 2): Symbol not found: _METIS_mCPartGraphRecursive2
   Referenced from: /Users/monk/FEniCS/src/petsc-3.1-p4/darwin10.0.0-cxx-opt/lib/libpetsc.dylib
   Expected in: flat namespace
  in /Users/monk/FEniCS/src/petsc-3.1-p4/darwin10.0.0-cxx-opt/lib/libpetsc.dylib

So I regret that the suggested fixes don't seem to work.  The problem seems to center around petsc.

It might not solve your problems, but I suggest setting stable build to false in dorsal.cfg. I always use unstable. It usually works best (for me).

--
Anders



Follow ups

References