Bug#898324: deal.ii: FTBFS against PETSc 3.9

2018-05-23 Thread Drew Parsons
On Thu, 10 May 2018 17:27:22 +0800 Drew Parsons 
wrote:
> 
> deal.ii no longer builds against PETSc (petsc 3.9).
...
> 
> This is because of changes in the PETSc API. 
> 


Update: PETSc upstream has reinstated the deprecated API in PETSc
3.9.2.  So deal.ii does build against petsc 3.9.2.

This bug can therefore be taken as an ordinary "upstream release
available" for upgrading to deal.ii 9.

Drew



Bug#898324: deal.ii: FTBFS against PETSc 3.9

2018-05-10 Thread Drew Parsons
Source: deal.ii
Version: 8.5.1-3
Severity: normal

deal.ii no longer builds against PETSc (petsc 3.9).
The error message is

  cd /home/drew/projects/test/deal.ii-8.5.1/obj-x86_64-linux-gnu/source/lac && 
/usr/bin/c++  -DDEBUG 
-I/home/drew/projects/test/deal.ii-8.5.1/obj-x86_64-linux-gnu/source/lac 
-I/home/drew/projects/test/deal.ii-8.5.1/obj-x86_64-linux-gnu/include 
-I/home/drew/projects/test/deal.ii-8.5.1/include 
-I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi 
-I/usr/lib/x86_64-linux-gnu/openmpi/include -I/usr/include/trilinos 
-I/usr/include/hdf5/openmpi -I/usr/include/scotch -I/usr/include/suitesparse 
-I/usr/include/petsc -I/usr/lib/x86_64-linux-gnu/hdf5/openmpi/include 
-I/usr/include/oce -I/usr/include/slepc  -pedantic -fPIC -Wall -Wextra 
-Wpointer-arith -Wwrite-strings -Wsynth -Wsign-compare -Wswitch 
-Woverloaded-virtual -Wno-long-long -Wno-implicit-fallthrough 
-Wno-placement-new -Wno-deprecated-declarations -Wno-literal-suffix 
-fopenmp-simd -std=c++14 -g -O2 
-fdebug-prefix-map=/home/drew/projects/test/deal.ii-8.5.1=. 
-fstack-protector-strong -Wformat -Werror=format-security -Wdate-time 
-D_FORTIFY_SOURCE=2 -Wno-nonnull-compare -Wno-address -pthread 
-Wno-unused-local-typedefs -Og -ggdb -Wa,--compress-debug-sections -o 
CMakeFiles/obj_lac_debug.dir/petsc_solver.cc.o -c 
/home/drew/projects/test/deal.ii-8.5.1/source/lac/petsc_solver.cc
  /home/drew/projects/test/deal.ii-8.5.1/source/lac/petsc_solver.cc: In member 
function ‘void dealii::PETScWrappers::SparseDirectMUMPS::solve(const 
dealii::PETScWrappers::MatrixBase&, dealii::PETScWrappers::VectorBase&, const 
dealii::PETScWrappers::VectorBase&)’:
  /home/drew/projects/test/deal.ii-8.5.1/source/lac/petsc_solver.cc:774:16: 
error: ‘PCFactorSetMatSolverPackage’ was not declared in this scope
   ierr = PCFactorSetMatSolverPackage (solver_data->pc, MATSOLVERMUMPS);
  ^~~
  /home/drew/projects/test/deal.ii-8.5.1/source/lac/petsc_solver.cc:774:16: 
note: suggested alternative: ‘PCFactorSetMatSolverType’
   ierr = PCFactorSetMatSolverPackage (solver_data->pc, MATSOLVERMUMPS);
  ^~~
  PCFactorSetMatSolverType
  /home/drew/projects/test/deal.ii-8.5.1/source/lac/petsc_solver.cc:783:16: 
error: ‘PCFactorSetUpMatSolverPackage’ was not declared in this scope
   ierr = PCFactorSetUpMatSolverPackage (solver_data->pc);
  ^
  /home/drew/projects/test/deal.ii-8.5.1/source/lac/petsc_solver.cc:783:16: 
note: suggested alternative: ‘PCFactorSetUpMatSolverType’
   ierr = PCFactorSetUpMatSolverPackage (solver_data->pc);
  ^
  PCFactorSetUpMatSolverType
  make[3]: *** [source/lac/CMakeFiles/obj_lac_debug.dir/build.make:677: 
source/lac/CMakeFiles/obj_lac_debug.dir/petsc_solver.cc.o] Error 1
  make[3]: Leaving directory 
'/home/drew/projects/test/deal.ii-8.5.1/obj-x86_64-linux-gnu'
  make[2]: *** [CMakeFiles/Makefile2:3170: 
source/lac/CMakeFiles/obj_lac_debug.dir/all] Error 2


This is because of changes in the PETSc API. 

Upstream deal.ii has already patched git, e.g.
https://github.com/dealii/dealii/commit/1d7b0421c9037dd59fbd889312f311ac8e62f8aa
https://github.com/dealii/dealii/commit/3eaaf572b92df60e9647a081191d7182ff7ab67b

petsc 3.9 is currently in experimental.  This bug will become serious
once we drop petsc 3.9 into unstable.  

This bug can be considered a request to upload the new upstream
version deal.ii 9.0, which is coming soon (9.0.0-rc5 is now released).


-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.16.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled