Compilation fail with dealii 8.5.0 from Docker

43 views
Skip to first unread message

Ashkan Dorostkar

unread,
May 11, 2017, 4:57:32 AM5/11/17
to deal.II User Group
Hi all,
I tried to compile my application with the new dealii 8.5.0 but it fails.

In my program I user distributed triangulation and I get the error

error: no matching function for call to ‘dealii::parallel::distributed::Triangulation<2>::Triangulation(ompi_communicator_t*&, dealii::Triangulation<2, 2>::MeshSmoothing)


Is there any changes that I have to do? From the documentation I see that this is still available. Also the same code is compiling fine with version 8.4.2

Best,
Ashkan

Daniel Arndt

unread,
May 11, 2017, 5:42:18 AM5/11/17
to deal.II User Group
Ashkan,
That sounds strange. As far as I know, the constructor of dealii::parallel::distributed::Triangulation' didn't change.
Can you provide us with a minimal example showing that problem? Does this issue also appear with a recent developer version?

Best,
Daniel

Ashkan Dorostkar

unread,
May 11, 2017, 6:48:27 AM5/11/17
to deal.II User Group
I have attached the CMake file and the source file. This is as minimal as I can make it. The complete error is as follows

/home/dealii/app/mock/step-3.cc: In constructor ‘Test::mock::mock()’:

/home/dealii/app/mock/step-3.cc:28:65: error: no matching function for call to ‘dealii::parallel::distributed::Triangulation<2>::Triangulation(ompi_communicator_t*&, dealii::Triangulation<2, 2>::MeshSmoothing)

                     Triangulation<DIM>::smoothing_on_coarsening))

                                                                 ^

In file included from /home/dealii/app/mock/step-3.cc:1:0:

/home/dealii/dealii-v8.5.0/include/deal.II/distributed/tria.h:1043:7: note: candidate: dealii::parallel::distributed::Triangulation<dim, spacedim>::Triangulation() [with int dim = 2; int spacedim = 2]

       Triangulation ();

       ^~~~~~~~~~~~~

/home/dealii/dealii-v8.5.0/include/deal.II/distributed/tria.h:1043:7: note:   candidate expects 0 arguments, 2 provided

/home/dealii/dealii-v8.5.0/include/deal.II/distributed/tria.h:1037:11: note: candidate: dealii::parallel::distributed::Triangulation<2>::Triangulation(const dealii::parallel::distributed::Triangulation<2>&)

     class Triangulation : public dealii::parallel::Triangulation<dim,spacedim>

           ^~~~~~~~~~~~~

/home/dealii/dealii-v8.5.0/include/deal.II/distributed/tria.h:1037:11: note:   candidate expects 1 argument, 2 provided

/home/dealii/dealii-v8.5.0/include/deal.II/distributed/tria.h:1037:11: note: candidate: dealii::parallel::distributed::Triangulation<2>::Triangulation(dealii::parallel::distributed::Triangulation<2>&&)

/home/dealii/dealii-v8.5.0/include/deal.II/distributed/tria.h:1037:11: note:   candidate expects 1 argument, 2 provided

CMakeFiles/step-3.dir/build.make:62: recipe for target 'CMakeFiles/step-3.dir/step-3.cc.o' failed

make[2]: *** [CMakeFiles/step-3.dir/step-3.cc.o] Error 1

CMakeFiles/Makefile2:227: recipe for target 'CMakeFiles/step-3.dir/all' failed

make[1]: *** [CMakeFiles/step-3.dir/all] Error 2

Makefile:83: recipe for target 'all' failed

make: *** [all] Error 2 
step-3.cc
CMakeLists.txt

Martin Kronbichler

unread,
May 11, 2017, 8:09:01 AM5/11/17
to dea...@googlegroups.com

Dear Ashkan,

the error message pops up from line 1043, which is the case when your deal.II configuration does not have P4EST. This is the same code as in 8.4.0. It seems that your deal.II configuration misses to find P4EST, i.e., DEAL_II_WITH_P4EST is off with the 8.5 version. Can you check in the detailed.log file in your deal.II build directory whether something has changed?

Best,
Martin

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Ashkan Dorostkar

unread,
May 11, 2017, 8:47:10 AM5/11/17
to deal.II User Group
I don't have a dealii build directory. I tried using the docker image. However I see that p4est is installed.
In the container if I do 
env | grep DIR
I get the following

P4EST_DIR=/home/dealii/libs/p4est-1.1

HDF5_DIR=/home/dealii/libs/hdf5-1.10.0-patch1

DEAL_II_DIR=~/dealii-v8.5.0

MUMPS_DIR=/home/dealii/libs/petsc-3.7.4

METIS_DIR=/home/dealii/libs/petsc-3.7.4

SUPERLU_DIST_DIR=/home/dealii/libs/petsc-3.7.4

OPENCASCADE_DIR=/home/dealii/libs/oce-0.17.2

TRILINOS_DIR=/home/dealii/libs/trilinos-12-8-1

SLEPC_DIR=/home/dealii/libs/slepc-3.7.3

SUPERLU_DIR=/home/dealii/libs/petsc-3.7.4

ARPACK_DIR=/home/dealii/libs/arpack-3.4.0

PARMETIS_DIR=/home/dealii/libs/petsc-3.7.4

SCALAPACK_DIR=/home/dealii/libs/petsc-3.7.4

PETSC_DIR=/home/dealii/libs/petsc-3.7.4

OCE_DIR=/home/dealii/libs/oce-0.17.2

Martin Kronbichler

unread,
May 11, 2017, 8:49:55 AM5/11/17
to dea...@googlegroups.com

I let someone else comment on the docker configuration and why that did happen, but I am pretty sure that you have DEAL_II_WITH_P4EST commented out (=disabled) in your DEAL_II_INSTALL_DIR/include/deal.II/base/config.h which indicates that it was eventually not enabled.

Best,
Martin

luca.heltai

unread,
May 11, 2017, 8:50:19 AM5/11/17
to Deal.II Users
What image are you using?

Try with

dealii/dealii:v8.5.0-gcc-mpi-fulldepscandi-debugrelease

my guess is that you are using

dealii/dealii:v8.5.0-gcc-mpi-fulldepsmanual-debugrelease

a bug with that image was reported by Timo, and I thought I had removed it from the image list…

L.

Ashkan Dorostkar

unread,
May 11, 2017, 9:18:28 AM5/11/17
to deal.II User Group
Thanks, 
this solved my problem
Reply all
Reply to author
Forward
0 new messages