Hi Michael,

> template. This seems to be again confirmed when make reaches the
> grid_refinement class because it fails with template related errors (I
> presume exactly what you saw):
>
> source/grid/grid_refinement.cc:508: error: non-template used as template
> [...]

Yes. The attached patch takes care of this.


> trilinos library so maybe I can get some answers from them. Pretty
> much all compilers on the cluster are 3.3.3 but I see that they were
> built in 2006 so hopefully they have moved forward and maybe these
> issues will convince the cluster admin to get a newer version of the
> compilers.

That would definitely make some sense, though I think we have the ambition 
to support compilers back to gcc 3.2.x or so at least. I have to admit 
that our usual testing process should have caught these issues with gcc 
3.3 but that we haven't gotten the script that displays test results for 
different compilers (and PETSc versions, for that matter) back online 
after the move of some of our stuff to commercially hosted web space. As a 
result, we essentially only tested with those compilers that we use daily, 
which is gcc 4.x. I hope we can avoid the sort of problems we've had with 
6.2.0 -- all compatibility problems with different compilers and PETSc 
versions -- in the future if we get those scripts running again.


> On the other cluster and the Trilinos front I can confirm that when I
> compiled --with-mpi-incdir=/... ,--with-mpi-libdir=/... and
> --enable-mpi, the mpi headers were installed correctly and deal.II
> compiled first time. The --enable-mpi switch seems to be needed even
> if you give mpi lib and inc directories.

Yes: --enable-mpi switches on MPI support, and the other options only 
override the default locations in which ./configure looks for MPI support 
stuff.

Best
W.

-------------------------------------------------------------------------
Wolfgang Bangerth                email:            [email protected]
                                 www: http://www.math.tamu.edu/~bangerth/

Index: deal.II/source/grid/grid_refinement.cc
===================================================================
--- deal.II/source/grid/grid_refinement.cc	(revision 18933)
+++ deal.II/source/grid/grid_refinement.cc	(revision 18934)
@@ -503,28 +503,32 @@
 template
 void
 GridRefinement::
-refine (Triangulation<deal_II_dimension> &,
+refine<deal_II_dimension,Vector<float>,deal_II_dimension>
+       (Triangulation<deal_II_dimension> &,
         const Vector<float> &,
         const double);
 
 template
 void
 GridRefinement::
-refine (Triangulation<deal_II_dimension> &,
+refine<deal_II_dimension,Vector<double>,deal_II_dimension>
+       (Triangulation<deal_II_dimension> &,
         const Vector<double> &,
         const double);
 
 template
 void
 GridRefinement::
-coarsen (Triangulation<deal_II_dimension> &,
+coarsen<deal_II_dimension,Vector<float>,deal_II_dimension>
+       (Triangulation<deal_II_dimension> &,
          const Vector<float> &,
          const double);
 
 template
 void
 GridRefinement::
-coarsen (Triangulation<deal_II_dimension> &,
+coarsen<deal_II_dimension,Vector<double>,deal_II_dimension>
+       (Triangulation<deal_II_dimension> &,
          const Vector<double> &,
          const double);
 
@@ -532,122 +536,182 @@
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension> &,
-                                 const Vector<double> &,
-                                 const double,
-                                 const double,
-				 const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,Vector<double>,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const Vector<double> &,
+ const double,
+ const double,
+ const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension> &,
-                                 const Vector<float> &,
-                                 const double,
-                                 const double,
-				 const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,Vector<float>,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
+  const Vector<float> &,
+  const double,
+  const double,
+  const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension> &,
-                                   const Vector<double> &,
-                                   const double,
-                                   const double,
-				   const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,Vector<double>,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
+  const Vector<double> &,
+  const double,
+  const double,
+  const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension> &,
-                                   const Vector<float> &,
-                                   const double,
-                                   const double,
-				   const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,Vector<float>,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
+  const Vector<float> &,
+  const double,
+  const double,
+  const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension> &,
-                             const Vector<float> &);
+refine_and_coarsen_optimize<deal_II_dimension,Vector<float>,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const Vector<float> &);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension> &,
-                             const Vector<double> &);
+refine_and_coarsen_optimize<deal_II_dimension,Vector<double>,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const Vector<double> &);
 
 #ifdef DEAL_II_USE_PETSC
 template
 void
 GridRefinement::
-refine (Triangulation<deal_II_dimension> &,
-        const PETScWrappers::Vector &,
-        const double);
+refine<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
+  const PETScWrappers::Vector &,
+  const double);
 
 template
 void
 GridRefinement::
-coarsen (Triangulation<deal_II_dimension> &,
-         const PETScWrappers::Vector &,
-         const double);
+coarsen<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const PETScWrappers::Vector &,
+ const double);
 
 
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension> &,
-                                 const PETScWrappers::Vector &,
-                                 const double,
-                                 const double,
-				 const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const PETScWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension> &,
-                                   const PETScWrappers::Vector &,
-                                   const double,
-                                   const double,
-				   const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const PETScWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension> &,
-                             const PETScWrappers::Vector &);
+refine_and_coarsen_optimize<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const PETScWrappers::Vector &);
 #endif
 
-//<<<<<<< .working
+#ifdef DEAL_II_USE_TRILINOS
+template
+void
+GridRefinement::
+refine<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension>
+ (Triangulation<deal_II_dimension> &,
+  const TrilinosWrappers::Vector &,
+  const double);
 
+template
+void
+GridRefinement::
+coarsen<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &,
+ const double);
 
+
+template
+void
+GridRefinement::
+refine_and_coarsen_fixed_number<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
+
+template
+void
+GridRefinement::
+refine_and_coarsen_fixed_fraction<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
+
+template
+void
+GridRefinement::
+refine_and_coarsen_optimize<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension>
+(Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &);
+#endif
+
+
+
 #if deal_II_dimension != 3
 // explicit instantiations
 template
 void
 GridRefinement::
-refine (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+refine<deal_II_dimension,Vector<float>,deal_II_dimension+1>
+       (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
         const Vector<float> &,
         const double);
 
 template
 void
 GridRefinement::
-refine (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+refine<deal_II_dimension,Vector<double>,deal_II_dimension+1>
+       (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
         const Vector<double> &,
         const double);
 
 template
 void
 GridRefinement::
-coarsen (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+coarsen<deal_II_dimension,Vector<float>,deal_II_dimension+1>
+       (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
          const Vector<float> &,
          const double);
 
 template
 void
 GridRefinement::
-coarsen (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+coarsen<deal_II_dimension,Vector<double>,deal_II_dimension+1>
+       (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
          const Vector<double> &,
          const double);
 
@@ -655,136 +719,151 @@
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
-                                 const Vector<double> &,
-                                 const double,
-                                 const double,
-				 const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,Vector<double>,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const Vector<double> &,
+ const double,
+ const double,
+ const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
-                                 const Vector<float> &,
-                                 const double,
-                                 const double,
-				 const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,Vector<float>,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+  const Vector<float> &,
+  const double,
+  const double,
+  const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
-                                   const Vector<double> &,
-                                   const double,
-                                   const double,
-				   const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,Vector<double>,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+  const Vector<double> &,
+  const double,
+  const double,
+  const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
-                                   const Vector<float> &,
-                                   const double,
-                                   const double,
-				   const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,Vector<float>,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+  const Vector<float> &,
+  const double,
+  const double,
+  const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
-                             const Vector<float> &);
+refine_and_coarsen_optimize<deal_II_dimension,Vector<float>,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const Vector<float> &);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
-                             const Vector<double> &);
+refine_and_coarsen_optimize<deal_II_dimension,Vector<double>,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const Vector<double> &);
 
 #ifdef DEAL_II_USE_PETSC
 template
 void
 GridRefinement::
-refine (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
-        const PETScWrappers::Vector &,
-        const double);
+refine<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+  const PETScWrappers::Vector &,
+  const double);
 
 template
 void
 GridRefinement::
-coarsen (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
-         const PETScWrappers::Vector &,
-         const double);
+coarsen<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const PETScWrappers::Vector &,
+ const double);
 
 
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
-                                 const PETScWrappers::Vector &,
-                                 const double,
-                                 const double,
-				 const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const PETScWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
-                                   const PETScWrappers::Vector &,
-                                   const double,
-                                   const double,
-				   const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const PETScWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
-                             const PETScWrappers::Vector &);
+refine_and_coarsen_optimize<deal_II_dimension,PETScWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const PETScWrappers::Vector &);
 #endif
 
-#endif
-
-//=======
-
 #ifdef DEAL_II_USE_TRILINOS
 template
 void
 GridRefinement::
-refine (Triangulation<deal_II_dimension> &,
-        const TrilinosWrappers::Vector &,
-        const double);
+refine<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension+1>
+ (Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+  const TrilinosWrappers::Vector &,
+  const double);
 
 template
 void
 GridRefinement::
-coarsen (Triangulation<deal_II_dimension> &,
-         const TrilinosWrappers::Vector &,
-         const double);
+coarsen<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const TrilinosWrappers::Vector &,
+ const double);
 
 
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension> &,
-                                 const TrilinosWrappers::Vector &,
-                                 const double,
-                                 const double,
-				 const unsigned int);
+refine_and_coarsen_fixed_number<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const TrilinosWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension> &,
-                                   const TrilinosWrappers::Vector &,
-                                   const double,
-                                   const double,
-				   const unsigned int);
+refine_and_coarsen_fixed_fraction<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const TrilinosWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
 
 template
 void
 GridRefinement::
-refine_and_coarsen_optimize (Triangulation<deal_II_dimension> &,
-                             const TrilinosWrappers::Vector &);
+refine_and_coarsen_optimize<deal_II_dimension,TrilinosWrappers::Vector,deal_II_dimension+1>
+(Triangulation<deal_II_dimension,deal_II_dimension+1> &,
+ const TrilinosWrappers::Vector &);
 #endif
 
+
+#endif
+
 DEAL_II_NAMESPACE_CLOSE
 
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to