From f4f8d46c3c9acbb6762bb1dd5ebd7d880fa58f84 Mon Sep 17 00:00:00 2001 From: Geoffroy Lesur Date: Thu, 2 Nov 2023 23:16:37 +0100 Subject: [PATCH] add some documentation for gcc8 --- doc/source/faq.rst | 5 +++++ src/gravity/selfGravity.cpp | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/doc/source/faq.rst b/doc/source/faq.rst index f7d5461a..87de503a 100644 --- a/doc/source/faq.rst +++ b/doc/source/faq.rst @@ -39,6 +39,11 @@ The compilation stops while compiling Kokkos with ``/usr/include/stdlib.h(58): e When using the Intel compiler on a Mac Intel, I get a linking error involving the ``SharedAllocationRecordIvvE18t_tracking_enabledE`` symbol. This is a known bug of the Intel Mac compiler with Kokkos. Apparently Intel has decided not to fix it. Check the issue on the `Kokkos git page `_. +I get an error at link that says there are undefined symbols fo std::filesystem + This is a known bug/limitation of gcc8 that does not include filesystem extensions in the standard library. + You should try to clear up CMakeCache.txt and explicitely add the required link library when calling cmake as in + ``LDFLAGS=-lstdc++fs cmake $IDEFIX_DIR ...``` + Execution --------- diff --git a/src/gravity/selfGravity.cpp b/src/gravity/selfGravity.cpp index 661b7f59..8efef800 100644 --- a/src/gravity/selfGravity.cpp +++ b/src/gravity/selfGravity.cpp @@ -153,18 +153,18 @@ void SelfGravity::Init(Input &input, DataBlock *datain) { // Instantiate the bicgstab solver if(solver == BICGSTAB || solver == PBICGSTAB) { - iterativeSolver = new Bicgstab(*laplacian.get(), targetError, maxiter, + iterativeSolver = new Bicgstab(*laplacian.get(), targetError, maxiter, laplacian->np_tot, laplacian->beg, laplacian->end); } else if(solver == CG || solver == PCG) { - iterativeSolver = new Cg(*laplacian.get(), targetError, maxiter, + iterativeSolver = new Cg(*laplacian.get(), targetError, maxiter, laplacian->np_tot, laplacian->beg, laplacian->end); } else if(solver == MINRES || solver == PMINRES) { - iterativeSolver = new Minres(*laplacian.get(), + iterativeSolver = new Minres(*laplacian.get(), targetError, maxiter, laplacian->np_tot, laplacian->beg, laplacian->end); } else { real step = laplacian->ComputeCFL(); - iterativeSolver = new Jacobi(*laplacian.get(), targetError, maxiter, step, + iterativeSolver = new Jacobi(*laplacian.get(), targetError, maxiter, step, laplacian->np_tot, laplacian->beg, laplacian->end); }