[petsc-users] undefined symbol: mpi_init_

Satish Balay balay at mcs.anl.gov
Sat Jun 25 19:24:39 CDT 2016


On Sat, 25 Jun 2016, Antonio Trande wrote:

> On 06/25/2016 09:41 PM, Antonio Trande wrote:
> > On 06/25/2016 03:59 PM, Matthew Knepley wrote:
> >> On Sat, Jun 25, 2016 at 8:21 AM, Antonio Trande <anto.trande at gmail.com
> >> <mailto:anto.trande at gmail.com>> wrote:
> >>
> >>     Hi all,
> >>
> >>     is it possible to compile serial PETSc library ?
> >>     I'm trying to compile PETSc without MPI by configuring with options:
> >>
> >>      --with-mpi=0 --with-mpiuni-fortran-binding=0
> >>
> >>     but compiler uses -I/.../petsc-3.7.2/include/petsc/mpiuni flag anyway
> >>     and libpetsc.so contains an "undefined symbol":
> >>
> >>     undefined symbol: mpi_init_     (/usr/lib64/libpetsc.so.3.7.2)
> >>
> >>     How I can fix this issue ?
> >>     Full log:
> >>     https://copr-be.cloud.fedoraproject.org/results/sagitter/petsc/fedora-24-x86_64/00362302-petsc/build.log.gz
> >>
> >>
> >> 1) Why are you giving --with-mpiuni-fortran-binding=0 if you still have
> >> Fortran turned on? If you want to turn off Fortran, use --with-fc=0.
> > 
> > I did't know what it does. If I active --with-mpiuni-fortran-binding,
> > 'undefined symbol' disappears.
> > 
> >>
> >> 2) You did not send configure.log which is what I need, not a screen
> >> capture.
> >>
> >> 3) I cannot see the error you sent anywhere. It would be more useful to
> >> send the output from 'make test'.
> >>
> >>   Matt
> >>  
> >>
> > 
> > I send you all config.log; petsc-serial, petsc-serial (64bit integer),
> > petsc-openmpi and petsc-mpich are compiled from an own fresh source
> > directory, respectively from petsc-3.7.2, build64, buildopenmpi_dir,
> > buildmpich_dir.
> > 
> > All libraries look compiled fine and related test passed.
> > I will send you latest builds log from Fedora Copr build-system.
> > 
> 
> No, tests not passed with
> 
> [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation,
> probably memory access out of range
> 
> This is a build log from Fedora 24 64 bit:
> https://copr-be.cloud.fedoraproject.org/results/sagitter/petsc/fedora-24-x86_64/00362535-petsc/build.log.gz

>>>>>>>>
+ echo 'Patch #1 (petsc-lib64.patch):'
+ /usr/bin/patch -p0 --fuzz=0
patching file config/BuildSystem/config/setCompilers.py
patching file gmakefile

Patch #0 (petsc-3.7-no-rpath.patch):
+ /usr/bin/patch -p0 --fuzz=0
patching file config/BuildSystem/config/setCompilers.py
<<<<<<<<<<<

Well looks like there were some modifications done to get the 'multi-variant' build working.

>>>>>>>>>>
+ make test -C petsc-3.7.2
make: Entering directory '/builddir/build/BUILD/petsc-3.7.2/petsc-3.7.2'
Running test examples to verify correct installation
Using PETSC_DIR=/builddir/build/BUILD/petsc-3.7.2/petsc-3.7.2 and PETSC_ARCH=x86_64
*******************Error detected during compile or link!*******************
See http://www.mcs.anl.gov/petsc/documentation/faq.html
/builddir/build/BUILD/petsc-3.7.2/petsc-3.7.2/src/snes/examples/tutorials ex19
*********************************************************************************
gcc -o ex19.o -c -O2 -fPIC  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fopenmp   -I/builddir/build/BUILD/petsc-3.7.2/petsc-3.7.2/include -I/builddir/build/BUILD/petsc-3.7.2/petsc-3.7.2/x86_64/include -I/usr/include -I/usr/include/suitesparse -I/builddir/build/BUILD/petsc-3.7.2/petsc-3.7.2/include/petsc/mpiuni    `pwd`/ex19.c
gcc -Wl,-z,relro  -O2 -fPIC  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fopenmp  -o ex19  ex19.o -L/builddir/build/BUILD/petsc-3.7.2/petsc-3.7.2/x86_64/lib -L/builddir/build/BUILD/petsc-3.7.2/petsc-3.7.2/x86_64/lib  -lpetsc -lmetis -L/usr/lib64 -lumfpack -lklu -lcholmod -lbtf -lccolamd -lcolamd -lcamd -lamd -lsuitesparseconfig -llapack -lblas -lOpenCL -lhwloc -lpapi -lgmp -lpthread -ljpeg -lpng -lm -L/usr/lib/gcc/x86_64-redhat-linux/6.1.1 -lgfortran -lm -lgfortran -lm -lquadmath -lm -lstdc++ -L/usr/lib/gcc/x86_64-redhat-linux/6.1.1 -ldl -lgcc_s -ldl 
/usr/bin/rm -f ex19.o
Possible error running C/C++ src/snes/examples/tutorials/ex19 with 1 MPI process
See http://www.mcs.anl.gov/petsc/documentation/faq.html
[0]PETSC ERROR: #1 PetscLogInitialize() line 219 in /builddir/build/BUILD/petsc-3.7.2/petsc-3.7.2/src/sys/logging/plog.c
[0]PETSC ERROR: #2 PetscInitialize() line 891 in /builddir/build/BUILD/petsc-3.7.2/petsc-3.7.2/src/sys/objects/pinit.c
/usr/bin/sh: line 13: 16933 Aborted                 (core dumped)
<<<<<<<<<<

So there is no -rpath here. Which -lpetsc variant is getting used at runtime?


Satish


More information about the petsc-users mailing list