[petsc-users] Compilation error

Satish Balay balay.anl at fastmail.org
Fri Oct 11 18:17:36 CDT 2024


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 at 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 at 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 at 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-maint at 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_munoz at 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.
> >
> 


More information about the petsc-users mailing list