dealii / dealii

The development repository for the deal.II finite element library
https://www.dealii.org
Other
1.34k stars 741 forks source link

Can't compile current master with PETSc 3.7.4 #15090

Closed bangerth closed 1 year ago

bangerth commented 1 year ago

Not good:

FAILED: source/lac/CMakeFiles/object_lac_debug.dir/petsc_ts.cc.o 
/scratch/local/gcc-11.2.0/bin/c++ -DDEBUG -Isource/lac -I/home/fac/g/bangerth/p/deal.II/1/dealii/source/lac -Iinclude -I/home/fac/g/bangerth/p/deal.II/1/dealii/include -isystem /home/fac/g/bangerth/p/deal.II/1/dealii/bundled/tbb-2018_U2/include -isystem /home/fac/g/bangerth/p/deal.II/1/dealii/bundled/boost-1.70.0/include -isystem /home/fac/g/bangerth/p/deal.II/1/dealii/bundled/umfpack/UMFPACK/Include -isystem /home/fac/g/bangerth/p/deal.II/1/dealii/bundled/umfpack/AMD/Include -isystem /home/fac/g/bangerth/p/deal.II/1/dealii/bundled/muparser_v2_3_3/include -isystem /usr/include/openmpi-x86_64 -isystem /raid/bangerth/bin/petsc-3.7.4/x86_64/include -isystem /raid/bangerth/bin/petsc-3.7.4/include -isystem /home/fac/g/bangerth/bin/petsc-3.7.4/include -isystem /home/fac/g/bangerth/bin/petsc-3.7.4/x86_64/include -isystem /raid/bangerth/bin/trilinos-13.2.0/include -isystem /raid/bangerth/bin/slepc-3.7.3/x86_64/include -isystem /raid/bangerth/bin/slepc-3.7.3/include -isystem /raid/bangerth/bin/sundials-6.1.1/include -isystem /raid/bangerth/bin/p4est-2.0.2-a991/FAST/include -fPIC -pedantic -Wall -Wextra -Wmissing-braces -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wsuggest-override -Wswitch -Wsynth -Wwrite-strings -Wno-placement-new -Wno-deprecated-declarations -Wno-literal-suffix -Wno-psabi -Wno-class-memaccess -Wno-parentheses -Wno-unused-local-typedefs -fopenmp-simd -std=c++20 -pthread -O0 -ggdb -Wa,--compress-debug-sections -std=c++2a -MD -MT source/lac/CMakeFiles/object_lac_debug.dir/petsc_ts.cc.o -MF source/lac/CMakeFiles/object_lac_debug.dir/petsc_ts.cc.o.d -o source/lac/CMakeFiles/object_lac_debug.dir/petsc_ts.cc.o -c /home/fac/g/bangerth/p/deal.II/1/dealii/source/lac/petsc_ts.cc
In file included from /home/fac/g/bangerth/p/deal.II/1/dealii/source/lac/petsc_ts.cc:23:
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h: In member function ‘void dealii::PETScWrappers::TimeStepper<VectorType, PMatrixType, AMatrixType>::reinit(const dealii::PETScWrappers::TimeStepperData&)’:
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:102:16: error: there are no arguments to ‘TSSetMaxTime’ that depend on a template parameter, so a declaration of ‘TSSetMaxTime’ must be available [-fpermissive]
  102 |       AssertTS(TSSetMaxTime(ts, data.final_time));
      |                ^~~~~~~~~~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:102:16: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
  102 |       AssertTS(TSSetMaxTime(ts, data.final_time));
      |                ^~~~~~~~~~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:106:16: error: there are no arguments to ‘TSSetMaxSteps’ that depend on a template parameter, so a declaration of ‘TSSetMaxSteps’ must be available [-fpermissive]
  106 |       AssertTS(TSSetMaxSteps(ts, data.max_steps));
      |                ^~~~~~~~~~~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h: In member function ‘unsigned int dealii::PETScWrappers::TimeStepper<VectorType, PMatrixType, AMatrixType>::solve(VectorType&)’:
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:336:20: error: there are no arguments to ‘SNESSetUseMatrixFree’ that depend on a template parameter, so a declaration of ‘SNESSetUseMatrixFree’ must be available [-fpermissive]
  336 |           AssertTS(SNESSetUseMatrixFree(snes, PETSC_TRUE, PETSC_FALSE));
      |                    ^~~~~~~~~~~~~~~~~~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:377:22: error: there are no arguments to ‘SNESSetUseMatrixFree’ that depend on a template parameter, so a declaration of ‘SNESSetUseMatrixFree’ must be available [-fpermissive]
  377 |             AssertTS(SNESSetUseMatrixFree(snes, PETSC_FALSE, PETSC_TRUE));
      |                      ^~~~~~~~~~~~~~~~~~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:447:14: error: there are no arguments to ‘TSGetStepNumber’ that depend on a template parameter, so a declaration of ‘TSGetStepNumber’ must be available [-fpermissive]
  447 |     AssertTS(TSGetStepNumber(ts, &nt));
      |              ^~~~~~~~~~~~~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h: In instantiation of ‘void dealii::PETScWrappers::TimeStepper<VectorType, PMatrixType, AMatrixType>::reinit(const dealii::PETScWrappers::TimeStepperData&) [with VectorType = dealii::PETScWrappers::VectorBase; PMatrixType = dealii::PETScWrappers::MatrixBase; AMatrixType = dealii::PETScWrappers::MatrixBase]’:
/home/fac/g/bangerth/p/deal.II/1/dealii/source/lac/petsc_ts.cc:28:31:   required from here
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:102:28: error: ‘TSSetMaxTime’ was not declared in this scope; did you mean ‘TSSetTime’?
  102 |       AssertTS(TSSetMaxTime(ts, data.final_time));
      |                            ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:106:29: error: ‘TSSetMaxSteps’ was not declared in this scope; did you mean ‘TSSetPreStep’?
  106 |       AssertTS(TSSetMaxSteps(ts, data.max_steps));
      |                             ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h: In instantiation of ‘unsigned int dealii::PETScWrappers::TimeStepper<VectorType, PMatrixType, AMatrixType>::solve(VectorType&) [with VectorType = dealii::PETScWrappers::VectorBase; PMatrixType = dealii::PETScWrappers::MatrixBase; AMatrixType = dealii::PETScWrappers::MatrixBase]’:
/home/fac/g/bangerth/p/deal.II/1/dealii/source/lac/petsc_ts.cc:28:31:   required from here
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:336:40: error: ‘SNESSetUseMatrixFree’ was not declared in this scope; did you mean ‘SNESSetUpMatrices’?
  336 |           AssertTS(SNESSetUseMatrixFree(snes, PETSC_TRUE, PETSC_FALSE));
      |                                        ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:377:42: error: ‘SNESSetUseMatrixFree’ was not declared in this scope; did you mean ‘SNESSetUpMatrices’?
  377 |             AssertTS(SNESSetUseMatrixFree(snes, PETSC_FALSE, PETSC_TRUE));
      |                                          ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:447:29: error: ‘TSGetStepNumber’ was not declared in this scope; did you mean ‘TSGetTimeStepNumber’?
  447 |     AssertTS(TSGetStepNumber(ts, &nt));
      |                             ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h: In instantiation of ‘void dealii::PETScWrappers::TimeStepper<VectorType, PMatrixType, AMatrixType>::reinit(const dealii::PETScWrappers::TimeStepperData&) [with VectorType = dealii::PETScWrappers::MPI::Vector; PMatrixType = dealii::PETScWrappers::MatrixBase; AMatrixType = dealii::PETScWrappers::MatrixBase]’:
/home/fac/g/bangerth/p/deal.II/1/dealii/source/lac/petsc_ts.cc:29:31:   required from here
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:102:28: error: ‘TSSetMaxTime’ was not declared in this scope; did you mean ‘TSSetTime’?
  102 |       AssertTS(TSSetMaxTime(ts, data.final_time));
      |                            ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:106:29: error: ‘TSSetMaxSteps’ was not declared in this scope; did you mean ‘TSSetPreStep’?
  106 |       AssertTS(TSSetMaxSteps(ts, data.max_steps));
      |                             ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h: In instantiation of ‘unsigned int dealii::PETScWrappers::TimeStepper<VectorType, PMatrixType, AMatrixType>::solve(VectorType&) [with VectorType = dealii::PETScWrappers::MPI::Vector; PMatrixType = dealii::PETScWrappers::MatrixBase; AMatrixType = dealii::PETScWrappers::MatrixBase]’:
/home/fac/g/bangerth/p/deal.II/1/dealii/source/lac/petsc_ts.cc:29:31:   required from here
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:336:40: error: ‘SNESSetUseMatrixFree’ was not declared in this scope; did you mean ‘SNESSetUpMatrices’?
  336 |           AssertTS(SNESSetUseMatrixFree(snes, PETSC_TRUE, PETSC_FALSE));
      |                                        ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:377:42: error: ‘SNESSetUseMatrixFree’ was not declared in this scope; did you mean ‘SNESSetUpMatrices’?
  377 |             AssertTS(SNESSetUseMatrixFree(snes, PETSC_FALSE, PETSC_TRUE));
      |                                          ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:447:29: error: ‘TSGetStepNumber’ was not declared in this scope; did you mean ‘TSGetTimeStepNumber’?
  447 |     AssertTS(TSGetStepNumber(ts, &nt));
      |                             ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h: In instantiation of ‘void dealii::PETScWrappers::TimeStepper<VectorType, PMatrixType, AMatrixType>::reinit(const dealii::PETScWrappers::TimeStepperData&) [with VectorType = dealii::PETScWrappers::MPI::BlockVector; PMatrixType = dealii::PETScWrappers::MatrixBase; AMatrixType = dealii::PETScWrappers::MatrixBase]’:
/home/fac/g/bangerth/p/deal.II/1/dealii/source/lac/petsc_ts.cc:30:31:   required from here
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:102:28: error: ‘TSSetMaxTime’ was not declared in this scope; did you mean ‘TSSetTime’?
  102 |       AssertTS(TSSetMaxTime(ts, data.final_time));
      |                            ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:106:29: error: ‘TSSetMaxSteps’ was not declared in this scope; did you mean ‘TSSetPreStep’?
  106 |       AssertTS(TSSetMaxSteps(ts, data.max_steps));
      |                             ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h: In instantiation of ‘unsigned int dealii::PETScWrappers::TimeStepper<VectorType, PMatrixType, AMatrixType>::solve(VectorType&) [with VectorType = dealii::PETScWrappers::MPI::BlockVector; PMatrixType = dealii::PETScWrappers::MatrixBase; AMatrixType = dealii::PETScWrappers::MatrixBase]’:
/home/fac/g/bangerth/p/deal.II/1/dealii/source/lac/petsc_ts.cc:30:31:   required from here
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:336:40: error: ‘SNESSetUseMatrixFree’ was not declared in this scope; did you mean ‘SNESSetUpMatrices’?
  336 |           AssertTS(SNESSetUseMatrixFree(snes, PETSC_TRUE, PETSC_FALSE));
      |                                        ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:377:42: error: ‘SNESSetUseMatrixFree’ was not declared in this scope; did you mean ‘SNESSetUpMatrices’?
  377 |             AssertTS(SNESSetUseMatrixFree(snes, PETSC_FALSE, PETSC_TRUE));
      |                                          ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:447:29: error: ‘TSGetStepNumber’ was not declared in this scope; did you mean ‘TSGetTimeStepNumber’?
  447 |     AssertTS(TSGetStepNumber(ts, &nt));
      |                             ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h: In instantiation of ‘void dealii::PETScWrappers::TimeStepper<VectorType, PMatrixType, AMatrixType>::reinit(const dealii::PETScWrappers::TimeStepperData&) [with VectorType = dealii::PETScWrappers::MPI::Vector; PMatrixType = dealii::PETScWrappers::MPI::SparseMatrix; AMatrixType = dealii::PETScWrappers::MPI::SparseMatrix]’:
/home/fac/g/bangerth/p/deal.II/1/dealii/source/lac/petsc_ts.cc:31:31:   required from here
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:102:28: error: ‘TSSetMaxTime’ was not declared in this scope; did you mean ‘TSSetTime’?
  102 |       AssertTS(TSSetMaxTime(ts, data.final_time));
      |                            ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:106:29: error: ‘TSSetMaxSteps’ was not declared in this scope; did you mean ‘TSSetPreStep’?
  106 |       AssertTS(TSSetMaxSteps(ts, data.max_steps));
      |                             ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h: In instantiation of ‘unsigned int dealii::PETScWrappers::TimeStepper<VectorType, PMatrixType, AMatrixType>::solve(VectorType&) [with VectorType = dealii::PETScWrappers::MPI::Vector; PMatrixType = dealii::PETScWrappers::MPI::SparseMatrix; AMatrixType = dealii::PETScWrappers::MPI::SparseMatrix]’:
/home/fac/g/bangerth/p/deal.II/1/dealii/source/lac/petsc_ts.cc:31:31:   required from here
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:336:40: error: ‘SNESSetUseMatrixFree’ was not declared in this scope; did you mean ‘SNESSetUpMatrices’?
  336 |           AssertTS(SNESSetUseMatrixFree(snes, PETSC_TRUE, PETSC_FALSE));
      |                                        ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:377:42: error: ‘SNESSetUseMatrixFree’ was not declared in this scope; did you mean ‘SNESSetUpMatrices’?
  377 |             AssertTS(SNESSetUseMatrixFree(snes, PETSC_FALSE, PETSC_TRUE));
      |                                          ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:447:29: error: ‘TSGetStepNumber’ was not declared in this scope; did you mean ‘TSGetTimeStepNumber’?
  447 |     AssertTS(TSGetStepNumber(ts, &nt));
      |                             ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h: In instantiation of ‘void dealii::PETScWrappers::TimeStepper<VectorType, PMatrixType, AMatrixType>::reinit(const dealii::PETScWrappers::TimeStepperData&) [with VectorType = dealii::PETScWrappers::MPI::BlockVector; PMatrixType = dealii::PETScWrappers::MPI::BlockSparseMatrix; AMatrixType = dealii::PETScWrappers::MPI::BlockSparseMatrix]’:
/home/fac/g/bangerth/p/deal.II/1/dealii/source/lac/petsc_ts.cc:33:31:   required from here
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:102:28: error: ‘TSSetMaxTime’ was not declared in this scope; did you mean ‘TSSetTime’?
  102 |       AssertTS(TSSetMaxTime(ts, data.final_time));
      |                            ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:106:29: error: ‘TSSetMaxSteps’ was not declared in this scope; did you mean ‘TSSetPreStep’?
  106 |       AssertTS(TSSetMaxSteps(ts, data.max_steps));
      |                             ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h: In instantiation of ‘unsigned int dealii::PETScWrappers::TimeStepper<VectorType, PMatrixType, AMatrixType>::solve(VectorType&) [with VectorType = dealii::PETScWrappers::MPI::BlockVector; PMatrixType = dealii::PETScWrappers::MPI::BlockSparseMatrix; AMatrixType = dealii::PETScWrappers::MPI::BlockSparseMatrix]’:
/home/fac/g/bangerth/p/deal.II/1/dealii/source/lac/petsc_ts.cc:33:31:   required from here
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:336:40: error: ‘SNESSetUseMatrixFree’ was not declared in this scope; did you mean ‘SNESSetUpMatrices’?
  336 |           AssertTS(SNESSetUseMatrixFree(snes, PETSC_TRUE, PETSC_FALSE));
      |                                        ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:377:42: error: ‘SNESSetUseMatrixFree’ was not declared in this scope; did you mean ‘SNESSetUpMatrices’?
  377 |             AssertTS(SNESSetUseMatrixFree(snes, PETSC_FALSE, PETSC_TRUE));
      |                                          ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:447:29: error: ‘TSGetStepNumber’ was not declared in this scope; did you mean ‘TSGetTimeStepNumber’?
  447 |     AssertTS(TSGetStepNumber(ts, &nt));
      |                             ^
/home/fac/g/bangerth/p/deal.II/1/dealii/include/deal.II/lac/petsc_ts.templates.h:38:32: note: in definition of macro ‘AssertTS’
   38 |         PetscErrorCode ierr = (code);                \
      |                                ^~~~
[421/1064] Building CXX object source/fe/CMakeFiles/object_fe_debug.dir/fe_tools_extrapolate.cc.o
ninja: build stopped: subcommand failed.

@stefanozampini Can you help? Did PETSc interfaces dramatically change between the 3.7.4 and version you use, or why are there so many undeclared function names?

bangerth commented 1 year ago

15066 is probably at fault.

bangerth commented 1 year ago

For reference, our cmake currently allows any PETSc version >=3.7.0.

stefanozampini commented 1 year ago

@bangerth I'll see what is the minimal version of PETSc we can still support

bangerth commented 1 year ago

Thanks, @stefanozampini !

stefanozampini commented 1 year ago

https://github.com/dealii/dealii/pull/15119

bangerth commented 1 year ago

Fixed now. Thank you, @stefanozampini !