Compiler and gcc version

More
4 years 2 months ago - 4 years 2 months ago #3089 by raymond
On my cluster I only have access to GCC 7.3 or 8.2.

Compiling ngsolve with gcc 8.2 seems to be unsupported. Compiling ngsolve with 7.3 gives me the following errors
Code:
[ 30%] Building CXX object fem/CMakeFiles/ngfem.dir/diffop_grad.cpp.o /home/janwdp/ngsuite/ngsolve-src/fem/diffop_grad.cpp: In static member function ‘static std::shared_ptr<ngfem::CoefficientFunction> ngfem::DiffOpGradientBoundary<D, FEL>::DiffShape(std::shared_ptr<ngfem::CoefficientFunction>, std::shared_ptr<ngfem::CoefficientFunction>) [with int D = 2; FEL = ngfem::ScalarFiniteElement<1>]’: /home/janwdp/ngsuite/ngsolve-src/fem/diffop_grad.cpp:24:23: internal compiler error: in assign_temp, at function.c:968 n -> SetDimensions( Array<int> ( { dim, 1 } ) ); ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0x91e471 assign_temp(tree_node*, int, int) ../../gcc/function.c:968 0x7e0a6f initialize_argument_information ../../gcc/calls.c:1825 0x7e0a6f expand_call(tree_node*, rtx_def*, int) ../../gcc/calls.c:3278 0x8d3abd expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) ../../gcc/expr.c:10889 0x7f0226 expand_expr ../../gcc/expr.h:276 0x7f0226 expand_call_stmt ../../gcc/cfgexpand.c:2658 0x7f0226 expand_gimple_stmt_1 ../../gcc/cfgexpand.c:3571 0x7f0226 expand_gimple_stmt ../../gcc/cfgexpand.c:3737 0x7f110f expand_gimple_basic_block ../../gcc/cfgexpand.c:5744 0x7f6276 execute ../../gcc/cfgexpand.c:6357 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. make[5]: *** [fem/CMakeFiles/ngfem.dir/diffop_grad.cpp.o] Error 1 make[4]: *** [fem/CMakeFiles/ngfem.dir/all] Error 2 make[3]: *** [all] Error 2 make[2]: *** [dependencies/Stamp/ngsolve/ngsolve-build] Error 2 make[1]: *** [CMakeFiles/ngsolve.dir/all] Error 2 make: *** [all] Error 2


Any advice on how to build ngsolve using either of these gcc versions?
Last edit: 4 years 2 months ago by raymond.
More
4 years 2 months ago #3090 by christopher
Hi,
gcc 8.2 has a critical bug affecting NGSolve, and it seems like gcc 7.3 also...
You can try to change this line of code to
Code:
Array<int> a({dim, 1}); n -> SetDimensions(a)
and see if it compiles.
If not, you can either ask your admins to update to recent compiler versions or compile a recent version yourself and use it.

Best
Christopher
Time to create page: 0.105 seconds