I think I've found your problem:

On Mon, 13 Sep 2010, Dec, John A. (LARC-D206) wrote:

> g++ -DDEBUG -DPETSC_USE_DYNAMIC_LIBRARIES -g -fPIC
> -I/root/libmesh/include/base
> -I/root/libmesh/include/enums
> -I/root/libmesh/include/error_estimation
> -I/root/libmesh/include/fe
> -I/root/libmesh/include/geom
> -I/root/libmesh/include/mesh
> -I/root/libmesh/include/numerics
> -I/root/libmesh/include/parallel
> -I/root/libmesh/include/partitioning
> -I/root/libmesh/include/quadrature
> -I/root/libmesh/include/solvers
> -I/root/libmesh/include/systems
> -I/root/libmesh/include/utils
> -I/root/libmesh/contrib/boost
> -I/root/libmesh/contrib/laspack
> -I/root/libmesh/contrib/parmetis/Lib
> -I/root/libmesh/contrib/metis/Lib
> -I/root/libmesh/contrib/sfcurves
> -I/root/libmesh/contrib/gzstream
> -I/root/libmesh/contrib/tecplot/include
> -I/root/libmesh/contrib/gmv
> -I/root/libmesh/contrib/tetgen
> -I/root/libmesh/contrib/triangle
> -I/root/libmesh/contrib/exodusii/Lib/include
> -I/root/libmesh/contrib/netcdf/Lib
> -I/root/libmesh/contrib/nemesis/Lib
> -I/root/libmesh/contrib/libHilbert/include
> -I/root/PETSC/petsc-3.1-p4/include
> -I/root/PETSC/petsc-3.1-p4/bmake/linux-gnu-opt
> -I/root/PETSC/petsc-3.1-p4/linux-gnu-opt/include
> -I/root/PETSC/petsc-3.1-p4/linux-gnu-opt/include
> -I/root/PETSC/petsc-3.1-p4/linux-gnu-opt/include
> -I/root/PETSC/petsc-3.1-p4/linux-gnu-opt/include
> -c main.cpp -o main.x86_64-unknown-linux-gnu.dbg.o

You're building main.*.o without GLIBCXX_DEBUG or
GLIBCXX_DEBUG_PEDANTIC defined, so it's using standard STL vectors.

> /root/libmesh/lib/x86_64-unknown-linux-gnu_dbg/libmesh.so

You're using libmesh.so in dbg mode, where with g++ we use
GLIBCXX_DEBUG and GLIBCXX_DEBUG_PEDANTIC and it's using their
debugging, API-compatible but ABI-incompatible STL vectors.

> 3DNRwGS.x86_64-unknown-linux-gnu.dbg.o:(.data.rel.ro._ZTVN7libMesh6FEBaseE[vtable
>  for libMesh::FEBase]+0x68): undefined reference to 
> `libMesh::FEBase::compute_map(std::vector<double, std::allocator<double> > 
> const&, libMesh::Elem const*)'

Then when you try to link them together, your main.C needed some
templated functions to be defined with standard STL template
arguments, but we've only built them with the incompatible
debugging-STL arguments.

Use our flags (or at least define those two preprocessor flags
yourself) when building all your own objects and you should be okay.
---
Roy

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to