[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