On 30 Mar 2014, at 22:16, Geoff Oxberry <[email protected]> wrote:

> I finally figured out how to get FEniCS 1.3.0 to build on OS X 10.8.5. I 
> don't know that FEniCS-dev can be compiled on 10.8.5 because of the clang++ 
> libstdc++ issues with C++11 and the restriction that Apple's LLVM must be 
> used to compile VTK. If a consistent stack can be compiled with libc++, it 
> will probably work, and I assume that's how the build on OS X 10.9.2 would 
> work.
> 
> I have a proposal to write this week, but next weekend, I should be able to 
> contribute a number of patches to Dorsal upstream, along with a platform 
> file, if you guys are interested.
> 

Yes, any contribution would be very welcome. It’s unlikely that we have any 
debs using Dorsal and OSX 10.8 in order to help with testing.

Garth

> Cheers,
> 
> Geoff
> 
> 
> On Sun, Mar 30, 2014 at 4:15 AM, Geoff Oxberry <[email protected]> wrote:
> More progress. I'm pretty sure that the memory error I'm seeing is due to VTK 
> being compiled with clang++, and almost everything else being compiled with 
> g++ 4.8.
> 
> In short, it's impossible to compile VTK with GCC on a Mac due to some 
> non-standard extensions in Apple header. 
> 
> I could try compiling most of the dependencies I can think of with libc++. If 
> that doesn't work, then I doubt it's possible to build the development 
> versions of FEniCS packages on OS X 10.8.5.
> 
> Cheers,
> 
> Geoff
> 
> 
> On Sun, Mar 30, 2014 at 1:09 AM, Geoff Oxberry <[email protected]> wrote:
> Oh, by the way, I forgot to mention: this build is with development versions 
> of packages, rather than the stable package versions.
> 
> Cheers,
> 
> Geoff
> 
> 
> On Sun, Mar 30, 2014 at 1:07 AM, Geoff Oxberry <[email protected]> wrote:
> Garth,
> 
> Here's more progress: now FEniCS builds. I have to build quite a bit with GCC 
> 4.8; I've attached the local.platform file I've been using, which is by no 
> means minimal. There are a few Dorsal packages for which I've written custom 
> package files, and I've updated 8 or 9 more. Once I figure all of this out, 
> I'll submit pull requests to upstream.
> 
> I figured out that GCC 4.8 is used consistently, provided I make sure to 
> clean up previous builds by deleting the FEniCS build directory. The only 
> other exception is PETSc, which still uses Clang++ for some reason, and I'll 
> have to figure that out later.
> 
> Now, when I run demo_poisson.py, I get the following run-time error:
> 
> ratatoskr:~ goxberry$ env CXX=g++-4.8 python 
> FEniCS/src/dolfin/demo/documented/poisson/python/demo_poisson.py
> Calling FFC just-in-time (JIT) compiler, this may take some time.
> Calling DOLFIN just-in-time (JIT) compiler, this may take some time.
> Calling DOLFIN just-in-time (JIT) compiler, this may take some time.
> Calling FFC just-in-time (JIT) compiler, this may take some time.
> Calling FFC just-in-time (JIT) compiler, this may take some time.
> Solving linear variational problem.
> python(18194,0x7fff7c323180) malloc: *** error for object 0x7fff7bc60570: 
> pointer being freed was not allocated
> *** set a breakpoint in malloc_error_break to debug
> [ratatoskr:18194] *** Process received signal ***
> [ratatoskr:18194] Signal: Abort trap: 6 (6)
> [ratatoskr:18194] Signal code:  (0)
> [ratatoskr:18194] *** End of error message ***
> Abort trap: 6
> 
> The Dorsal platform file is attached; of particular note is that I build a 
> Python 2.7.2 interpreter through Dorsal (the python-osx package is a minor 
> hack that sets PYTHON_LIBRARY to have a .dylib extension instead of an .so 
> extension). Any ideas of what I may want to look at for debugging?
> 
> Cheers,
> 
> Geoff
> 
> 
> On Fri, Mar 28, 2014 at 10:45 AM, Geoff Oxberry <[email protected]> wrote:
> Garth,
> 
> Thank you for the reply. I wish I could upgrade, but for the time being, work 
> policy is to use 10.8.5.
> 
> One potential fix is to use Dorsal to build enough dependencies of FEniCS-dev 
> with g++ 4.8, which will use the right standard library, and should be able 
> to link to existing software on my machine built with clang++ and libstdc++.
> 
> What I've done so far is:
> 
> - built a separate Python 2.7 virtualenv via gcc 4.8, so pip & setup.py 
> should preferentially use GCC 4.8 for building Python packages. Compile logs 
> for packages installed via pip indicate that this premise has borne out so far
> - set environment variables in a local.platform file for Dorsal so that: CC 
> and CXX equal gcc-4.8 and g++4.8, respectively. I've also set 
> OMPI_CC=gcc-4.8, OMPI_CXX=g++-4.8, and OMPI_FC=gfortran, as in the 
> mountainlion.platform file set up in Dorsal.
> - I make Dorsal build many dependencies, notably: Open MPI, and anything that 
> looks like it will use an MPI wrapper compiler (boost, parmetis, mpi4py, 
> petsc, petsc4py, slepc, scotch).
> - Then it should build FEniCS-dev.
> 
> Where I get stuck is that it seems that Dorsal uses GCC 4.8 inconsistently -- 
> possibly not at all -- in the build process, because I'm still getting clang 
> errors re: shared_ptr. The theory behind having Dorsal build Open MPI, etc., 
> is that it will use libraries it builds preferentially, and will sandbox the 
> installs, so building Open MPI via Dorsal should build an Open MPI wrapper 
> compiler for GCC 4.8 localized to FEniCS. I would rather avoid building 
> libraries by hand, or using Homebrew to build libraries using GCC 4.8, if 
> possible.
> 
> Any help on getting Dorsal to recognize the right compiler or correct my 
> misunderstandings so far would be much appreciated.
> 
> Cheers,
> 
> Geoff
> 
> 
> On Fri, Mar 28, 2014 at 5:29 AM, Garth N. Wells <[email protected]> wrote:
> 
> On 26 Mar 2014, at 08:55, Geoff Oxberry <[email protected]> wrote:
> 
> > I have a similar error to a user who wrote in 2014-03-03 (see 
> > https://www.mail-archive.com/[email protected]/msg00366.html):
> >
> > Traceback (most recent call last):
> >   File "demo_poisson.py", line 41, in <module>
> >     V = FunctionSpace(mesh, "Lagrange", 1)
> >   File 
> > "~/FEniCS/lib/python2.7/dist-packages/dolfin/functions/functionspace.py",
> > line 403, in __init__
> >     FunctionSpaceBase.__init__(self, mesh, element, constrained_domain)
> >   File "
> > ~/FEniCS/lib/python2.7/dist-packages/dolfin/functions/functionspace.py",
> >
> > line 84, in __init__
> >     ufc_element, ufc_dofmap = jit(self._ufl_element)
> >   File "
> > ~/FEniCS/lib/python2.7/dist-packages/dolfin/compilemodules/jit.py", line
> >
> > 60, in mpi_jit
> >     return local_jit(*args, **kwargs)
> >   File "
> > ~/FEniCS/lib/python2.7/dist-packages/dolfin/compilemodules/jit.py", line
> >
> > 122, in jit
> >     return jit_compile(form, parameters=p, common_cell=common_cell)
> > TypeError: jit() got an unexpected keyword argument 'common_cell'
> >
> >
> > In the same thread, Anders Logg suggested updating DOLFIN, UFL, and FFC. I 
> > installed everything through Dorsal; to my knowledge, each package is at 
> > the most recent stable version. If you let me know which files to send, I 
> > can send build logs.
> >
> > I've also tried using Dorsal to build the development versions of these 
> > packages. On OS X with Homebrew and LLVM 3.3, there seems to be an issue 
> > with the development version of FFC; clang++ throws a number of errors 
> > related to std::shared_ptr (in SWIG-generated interfaces) that have to do 
> > with the version of libstdc++ clang++ is using. If I compile and link with 
> > libc++ instead, those problems go away, but linking errors occur (with 
> > Boost; rebuilding Boost with libc++ does not seem to work either).
> >
> > Are there other ways to resolve this problem while still building with 
> > Homebrew?
> >
> 
> I don’t think any developers use (or have access to) OS X 10.8, so it all be 
> hard for us to fix. I build the FEniCS dev versions on OSX 10.9 with Xcode 
> 5.1 without problems. I install via Homebrew all the dependencies that are 
> available in Homebrew, except PETSc which I choose to build myself.
> 
> Garth
> 
> 
> > Cheers,
> >
> > Geoff
> > _______________________________________________
> > fenics-support mailing list
> > [email protected]
> > http://fenicsproject.org/mailman/listinfo/fenics-support
> 
> 
> 
> 
> -- 
> Geoffrey Oxberry, Ph.D., E.I.T.
> [email protected]
> 
> 
> 
> -- 
> Geoffrey Oxberry, Ph.D., E.I.T.
> [email protected]
> 
> 
> 
> -- 
> Geoffrey Oxberry, Ph.D., E.I.T.
> [email protected]
> 
> 
> 
> -- 
> Geoffrey Oxberry, Ph.D., E.I.T.
> [email protected]
> 
> 
> 
> -- 
> Geoffrey Oxberry, Ph.D., E.I.T.
> [email protected]

_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to