[petsc-users] undefined symbol: mpi_init_

Antonio Trande anto.trande at gmail.com
Sun Jun 26 14:32:26 CDT 2016


On 06/26/2016 02:24 AM, Satish Balay wrote:
> 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.

Yes.

> 
>>>>>>>>>>>
> + 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?
> 

Yes, no rpaths for the serial libraries, so 'libpetsc.so' and
'libpetsc64.so' (renamed for mine needs).

Test reported is for PETSc (32 bit integer) serial library: libpetsc.so

-- 
---
Antonio Trande
mailto: sagitter 'at' fedoraproject 'dot' org
http://fedoraos.wordpress.com/
https://fedoraproject.org/wiki/User:Sagitter
GPG Key: 0x6CE6D08A
Check on https://keys.fedoraproject.org/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160626/b06a338c/attachment.pgp>


More information about the petsc-users mailing list