← Back to team overview

dolfin team mailing list archive

Re: Some shared_ptr information

 

Okay,
I figured it out...it's an odd MacOS issue. a long story short... my mpi libraries were in a non-standard place and the - isysroot /Developers/SDKs/MacOSX10.4u.sdk compiler option only works properly if your dynamic libraries for things like mpi are in /usr/ lib or /usr/local/lib (even /usr/local/openmpi won't work).

Apparently MacOSX keeps several separate /usr depending on which software developer kit you're writing to.

That's probably not sufficient information for a clean fix, but if anyone is interested in what I did, let me know.
cheers
marc

On Feb 28, 2009, at 6:16 AM, Johan Hake wrote:

On Friday 27 February 2009 21:46:14 mspieg wrote:
Hi All,
    I've been running into similar problems on macosx with the JIT
compiler for Dolfin Functions in PyDolfin

info:
python-2.5 from the enthought distribution
OS is macosx-10.4.11 intel.
swig-1.3.36
Dolfin 0.9.1 (development version)
FFC 0.6.1 (development version)
instant (dev version etc...)

...and ufc dev version? Just to be sure ;)

yes


running something like the restriction-interpolation demo, I get

Calling FFC just-in-time (JIT) compiler, this may take some time... done
Creating Python extension (compiling and linking), this may take some
time... done
Calling FFC just-in-time (JIT) compiler, this may take some time... done
Creating Python extension (compiling and linking), this may take some
time... done
Calling DOLFIN Function just-in-time (JIT) compiler, this may take
some time...In instant.recompile: The module did not compile, see '/
tmp/tmpVKDvoA2009-2-27-15-07_instant/
dolfin_compile_function_227f8d92341151df5a32d2c19fc7a041/compile.log'

looking at the log file, the issue seems to be that the compiler is
using the options

g++ -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g
-bundle -undefined dynamic_lookup blah blah blah

I do not think we add this flag. This is probably added by python distutils. We do add this manually for both ufc and dolfin when compiling the python
extension module. Here we use scons as build system.


which appends /Developer/SDKs/MacOSX10.4u.sdk/  in front of some of
my dynamic library paths which generates missing symbols etc. etc (in
addition, I don't want to build for ppc but that doesn't seem as
serious)

In particular, my openmpi libraries happen to be in  /Applications/
mpich/openmpi-1.2.8/lib

but ld  complains:

warning can't open dynamic library: /Developer/SDKs/MacOSX10.4u.sdk/
Applications/mpich/openmpi-1.2.8/lib/libmpi_cxx.0.dylib
referenced from: /Users/mspieg/mspieg/hg_repositories/FEniCS/
srcFEniCS/dolfin/local/lib/libdolfin.dylib (checking for undefined
symbols may be affected) (No such file or directory, errno = 2)

and then generates a pile of missing MPI symbols.

All the c++ demos work as does some of the mesh and plotting python
demos.  Unfortunately, projection from python is just what I need
(and I'm hoping there's an easy fix)

I am not a power mac user so I do not know exactly whats going on here.


Johan

----------------------------------------------------
Marc Spiegelman
Lamont-Doherty Earth Observatory
Dept. of Applied Physics/Applied Math
Columbia University
http://www.ldeo.columbia.edu/~mspieg
tel: 845 704 2323 (SkypeIn)
----------------------------------------------------



Follow ups

References