Thank you Satish and Junchao,
Actually following Satish's instructions I found that I am indeed using
the same compiler but for some reason my command does not include the
mpi include path.
I am going to check now my cmake files because it was initially found so
I should be doing something wrong somewhere else.
Thank you and I think the problem is solved now.
Best,
Daniel
On 12/10/2024 01:17, Satish Balay wrote:
Here is one way to check.
- check make.log for the build - it might have something like:
-----------------------------------------
Using system modules:
Using mpi.h: # 1 "/home/balay/soft/mpich-4.0.1/include/mpi.h" 1
-----------------------------------------
- now check your application build where you are getting the error - compile that source
code with the additional option "-E" to see which mpi.h is getting used.
balay@p1 /home/balay/petsc/src/ksp/ksp/tutorials (main =)
$ make ex1.o CPPFLAGS=-E
mpicc -o ex1.o -c -fPIC -Wall -Wwrite-strings -Wno-unknown-pragmas
-Wno-lto-type-mismatch -Wno-stringop-overflow -fstack-protector
-fvisibility=hidden -Wall -Wwrite-strings -Wno-unknown-pragmas
-Wno-lto-type-mismatch -Wno-stringop-overflow -fstack-protector
-fvisibility=hidden -g3 -O0 -I/home/balay/petsc/include
-I/home/balay/petsc/arch-linux-c-debug/include -E ex1.c
balay@p1 /home/balay/petsc/src/ksp/ksp/tutorials (main =)
$ grep 'mpi\.h' ex1.o |head
# 1 "/home/balay/soft/mpich-4.0.1/include/mpi.h" 1
# 40 "/home/balay/soft/mpich-4.0.1/include/mpi.h"
# 66 "/home/balay/soft/mpich-4.0.1/include/mpi.h"
# 84 "/home/balay/soft/mpich-4.0.1/include/mpi.h"
# 144 "/home/balay/soft/mpich-4.0.1/include/mpi.h"
# 156 "/home/balay/soft/mpich-4.0.1/include/mpi.h"
# 198 "/home/balay/soft/mpich-4.0.1/include/mpi.h"
# 244 "/home/balay/soft/mpich-4.0.1/include/mpi.h"
# 262 "/home/balay/soft/mpich-4.0.1/include/mpi.h"
# 333 "/home/balay/soft/mpich-4.0.1/include/mpi.h"
balay@p1 /home/balay/petsc/src/ksp/ksp/tutorials (main =)
$
Ok here they match.
If the same mpi.h is used for your usecase in both PETSc build - and
in your application code - but you are still getting the error - send
us the build logs - configure.log, make.log [you can use
petsc-ma...@mcs.anl.gov]
Satish
On Sat, 12 Oct 2024, Daniel Pino Munoz wrote:
I did that too, and I am using the same compiler.
In fact I also checked the compilation of my code by setting VERBOSE=1 and
looking at the compilation command. It is indeed the same compiler... It's
pretty odd...
Thanks anyway,
D.
On 12/10/2024 00:04, Junchao Zhang wrote:
Check they are the same MPI wrappers(if you use them), for example with
"which mpicc" or "make V=1" to compare the exact executable path
--Junchao Zhang
On Fri, Oct 11, 2024 at 4:10 PM Daniel Pino Munoz
<daniel.pino_mu...@mines-paristech.fr> wrote:
Dear all,
I am currently trying to compile my code but the compilation fails
with
the following error:
error "PETSc was configured with OpenMPI but now appears to be
compiling
using a non-OpenMPI mpi.h
I have obviously checked and I am compiling my sources using the same
compiler used to compile Petsc. To check this, I looked into the
configure.log file generated by petsc and verified that the compiler
listed was indeed the one currently been used to compile my sources.
Does anyone have any idea of where the problem might be coming from?
Thank you,
D.