← Back to team overview

dolfin team mailing list archive

remarks on building on an os x machine

 

A summary of what I have discovered.

With the following setup:

os x 10.4.8 x86
gcc 4.0.1 (apple)
mpich2-1.06p1, dynamic libraries
pets-2.3.3-p8, dynamic libraries
hypre-2.0.0, static libraries,
umfpack 4.3, static libaries
numpy 1.0.4
swig 1.3.31
ffc-0.4.3
FIAT-0.3.3
UFC-1.0
dolfin -0.7.1

I note the following behavior:

If i configure dolfin, as in the tutorial, everything, including pydoflin, compiles, but when I try to run any dolfin based application, i generate the following error:

valkyrie:cpp$ ./demo
dyld: Symbol not found: _HYPRE_ParCSRPilutDestroy
Referenced from: /Users/gideon/software/petsc-2.3.3-p8/lib/ darwin8.11.1-cxx-debug/libpetscksp.dylib
  Expected in: dynamic lookup

Trace/BPT trap

If i give dolfin the LDFLAGS and LIB flags for HYPRE, then when the dolfin libraries are being built, I get the error:

ld: warning multiple definitions of symbol _mpipriv2_
/Users/gideon/software/petsc-2.3.3-p8/lib/darwin8.11.1-cxx-debug/ libpetsc.dylib(single module) definition of _mpipriv2_ /Users/gideon/software/lib/libmpich.dylib(single module) definition of _mpipriv2_
ld: warning multiple definitions of symbol _mpipriv1_
/Users/gideon/software/petsc-2.3.3-p8/lib/darwin8.11.1-cxx-debug/ libpetsc.dylib(single module) definition of _mpipriv1_ /Users/gideon/software/lib/libmpich.dylib(single module) definition of _mpipriv1_
ld: warning multiple definitions of symbol _mpiprivc_
/Users/gideon/software/petsc-2.3.3-p8/lib/darwin8.11.1-cxx-debug/ libpetsc.dylib(single module) definition of _mpiprivc_ /Users/gideon/software/lib/libmpich.dylib(single module) definition of _mpiprivc_ ld: common symbols not allowed with MH_DYLIB output format with the - multi_module option /Users/gideon/software/petsc-2.3.3-p8/externalpackages/hypre-2.0.0/ darwin8.11.1-cxx-debug/lib/libHYPRE.a(globalObjects.o) definition of common _msgBuf_dh (size 1024)
/usr/bin/libtool: internal link edit command failed

Finally, if I include the flags for HYPRE, but only built static dolfin libraries and disable pydolfin, it compiles and applications work. However, I have to make modifications to dolfin.pc, as it fails to include the HYPRE flags and the -framework vecLib for apple's BLAS/LAPACK.



-gideon


Follow ups