Compile error caused in meshaccess.cpp when building ngsolve

More
6 years 8 months ago #401 by massing
Dear all,

Today, I tried to update my ngsuite installation (starting with a fresh directory and repo clones
using the master branch) on my Debian 9.3 (stable) with the following features enabled:

Enabled functionality:

GUI: ............... ON
LAPACK: ............ ON
MKL: ............... OFF
PYTHON: ............ ON
MPI: ............... ON
CUDA: ..............
MUMPS: ............. OFF
PARDISO: ........... OFF
INTEL_MIC: ......... OFF
VTUNE: ............. OFF
VAMPIRTRACE: ....... OFF


But unfortunately, I later ran into a compilation error:


[ 44%] Built target install_netgen
[ 50%] Performing check_submodules1 step for 'ngsolve'
[ 55%] Performing build step for 'ngsolve'
-- Found Git: /usr/bin/git (found version "2.11.0")
[ 0%] Built target generate_version_file
[ 12%] Built target ngstd
[ 19%] Built target ngbla
[ 20%] Built target parallel
[ 35%] Built target ngla
[ 64%] Built target ngfem
[ 65%] Built target ngmg
[ 67%] Building CXX object comp/CMakeFiles/ngcomp.dir/meshaccess.cpp.o
/work/andre/software/ngsuite/tmp/ngsolve-src/comp/meshaccess.cpp: In member function ‘void ngcomp::MeshAccess::Refine()’:
/work/andre/software/ngsuite/tmp/ngsolve-src/comp/meshaccess.cpp:1751:65: error: no matching function for call to ‘netgen::Ngx_Mesh::Refine(NG_REFINEMENT_TYPE, void (*)(std::function<void(int, int)>), void (*)(std::__cxx11::string, bool))’
mesh.Refine(NG_REFINE_H, &NGSolveTaskManager, &NGSolveTracer);
^
In file included from /work/andre/software/ngsuite/tmp/ngsolve-src/comp/meshaccess.hpp:12:0,
from /work/andre/software/ngsuite/tmp/ngsolve-src/comp/comp.hpp:52,
from /work/andre/software/ngsuite/tmp/ngsolve-src/comp/meshaccess.cpp:11:
/work/andre/software/ngsuite/ngsolve-install/include/nginterface_v2.hpp:278:10: note: candidate: void netgen::Ngx_Mesh::Refine(NG_REFINEMENT_TYPE, void (*)(std::function<void(int, int)>))
void Refine (NG_REFINEMENT_TYPE reftype,
^~~~~~
/work/andre/software/ngsuite/ngsolve-install/include/nginterface_v2.hpp:278:10: note: candidate expects 2 arguments, 3 provided
comp/CMakeFiles/ngcomp.dir/build.make:374: recipe for target 'comp/CMakeFiles/ngcomp.dir/meshaccess.cpp.o' failed

Is that an expected compilation error in current master?
BTW, git blame tells me that this change introduced here

36eaf018c (Joachim Schöberl 2018-01-04 11:07:22 +0100 1751)
with the commit message "paje-tracer to netgen"

Thanks a lot and best,
Andre
More
6 years 8 months ago #402 by schruste
Hi André,

Did you make sure, that you updated the submodules, especially netgen?
Also: did you make sure that the includes that he is looking at are not from older installation? If in doubt, remove also the old installations.
And last: Have you tried the same without mpi-support for a start?

Best,
Christoph
More
6 years 8 months ago #403 by massing
Yes, my bad, I forget to deactivate the sourcing of my old ngsolve installation in my .bashrc, thanks for the fast reply! Now everything compiles fine and I can run the tutorials with both the netgen and ngspy command. Only catch right now is that program execution crashes if I involve more than one mpi processor, but I will report this in a separate thread. Thanks a lot for the help so far!
Time to create page: 0.099 seconds