Hi,

Builds of PETSc with "Sieve" enabled (configure with --with-sieve,
sieve is their unstructured mesh data structure) contain a Mesh struct
which apparently conflicts with ours.  (I haven't seen this but a TACC
colleague recently came across the issue.)

Compiling C++ (in optimized mode) src/numerics/petsc_matrix.C...
In file included from src/numerics/petsc_matrix.C:28:
.../workspace/libmesh/include/base/dof_map.h:49: error:
using typedef-name ‘Mesh’ after ‘class’
.../workspace/petsc-dev/include/petscmesh.h:26: error:
‘Mesh’ has a previous declaration here
make: *** [src/numerics/petsc_matrix.i386-apple-darwin10.3.1.opt.o] Error 1

This isn't a widespread problem now since Sieve is an optional
package, but it seems like it could easily become one in the future,
if not for Mesh then for other names in PETSc.  I was hoping we could
discuss what options are available to us... one seems to be
namespacing the entire library.  I think this might be the "right"
thing to do, but it obviously represents a relatively big, probably
API-breaking change to user code.   Thoughts?

-- 
John

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to