[petsc-dev] Possible error running C/C++ src/snes/examples/tutorials/ex19 with 1 MPI process
Satish Balay
balay at mcs.anl.gov
Tue Oct 11 12:53:15 CDT 2016
On Tue, 11 Oct 2016, Antonio Trande wrote:
> On 10/11/2016 12:14 AM, Satish Balay wrote:
> > On Mon, 10 Oct 2016, Antonio Trande wrote:
> >
> >> On 10/10/2016 07:28 PM, Satish Balay wrote:
> >>> On Mon, 10 Oct 2016, Antonio Trande wrote:
> >
> >>
> >> New builds:
> >>
> >> 32bit:
> >> https://copr-be.cloud.fedoraproject.org/results/sagitter/petsc/fedora-24-i386/00463215-petsc/build.log.gz
> >> Section with errors: https://paste.fedoraproject.org/448011/
> >
> > https://copr-be.cloud.fedoraproject.org/results/sagitter/petsc/fedora-rawhide-i386/00463045-petsc/build.log.gz
> >
> > Previosly you sent the above - and that was fine. Whats the difference between the above 2 builds?
>
> https://copr-be.cloud.fedoraproject.org/results/sagitter/petsc/fedora-rawhide-i386/00463045-petsc/build.log.gz
> :
> petsc is built for debugging (note compiler flags are '-O0 -g')
>
> 32bit:
> https://copr-be.cloud.fedoraproject.org/results/sagitter/petsc/fedora-24-i386/00463215-petsc/build.log.gz
> :
> petsc is built with default compiler flags for Fedora (note the flags
> '-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
> -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -O3')
>
> I know that sometimes optimization level can influence functionality
> (could it be a cause in this case?).
>
Nope - this shouldn't make a differene - unless the otimization flags are incompatible on the hardware that the code is run on.
However - I'm seeing some bugs in the build - not sure if they are causing grief...
>>>>>>
+ CFLAGS='-O2 -g -pipe -Wall -Werror=format-security =2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'
+ export CFLAGS
<<<<
Hm - you are seeting CFLAGS env variable..
>>>>>>>>>>>
+ ./configure
<snip>
CFLAGS=-O2 -g -pipe -Wall -Werror=format-security =2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables CXXFLAGS=-O2 -g -pipe -Wall -Werror=format-security =2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables FCFLAGS=-O2 -g -pipe -Wall -Werror=format-security =2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables
<snip>
'COPTFLAGS=-O2 -g -pipe -Wall -Werror=format-security =2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -s\
pecs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'
<<<<<<<<<<
Hm - the quotes are missing for CFLAGS - and are at the wrong place for COPTFLAGS [and perhaps other options?]
And BTW: - you can avoid passing these options multiple times by using:
CFLAGS='-O2 -g -pipe ....' COPTFLAGS=''
>>>>>>>>>
Compilers:
C Compiler: gcc -O2
C++ Compiler: g++ -O2
<<<<<<<<<<
Clearly PETSc configure is running tests with slightly different
options. [sometimes this causes grief - as compilers can link to
system different libraries - thus the configure tests can produce
inconsistant results]
And its good to check configure.log to see if things are
consistant. Not sure how easy its to grab these logs from the build
and make them available [without doing 'cat configure.log' - these
logs tend to be huge].
>>>>>>>>>
+ export 'CFLAGS=-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 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -O3 -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'
<snip>
+ make V=1 MAKE_NP=2 PETSC_DIR=/builddir/build/BUILD/petsc-3.7.4/petsc-3.7.4 'CFLAGS=-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 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -O3 -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' 'CXXFLAGS=-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 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -O3' 'FCFLAGS=-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 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -O3 -I/usr/lib/gfortran/modules' 'FFLAGS=-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 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -O3 -I/usr/lib/gfortran/modules' 'FOPTFLAGS=-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 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -O3 -I/usr/lib/gfortran/modules' 'LDFLAGS=-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' PETSC_ARCH=i386 all
<snip>
gcc -c -O2 -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 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -O3 -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -I/builddir/build/BUILD/petsc-3.7.4/petsc-3.7.4/include -I/builddir/build/BUILD/petsc-3.7.4/petsc-3.7.4/i386/include -I/usr/include/suitesparse -I/builddir/build/BUILD/petsc-3.7.4/petsc-3.7.4/include/petsc/mpiuni -MMD -MP /builddir/build/BUILD/petsc-3.7.4/petsc-3.7.4/src/sys/info/ftn-auto/verboseinfof.c -o i386/obj/src/sys/info/ftn-auto/verboseinfof.o
<<<<<<<<<<<
And once flags are set at configure time - we don't recommend
overriding them with CFLAGS - either through make env variable or make
command line variable..
> Are executable files for testing (ex5f, ex19, ...) compiled with same
> compiler flags used for 'libpetsc'?
yes. [the env variables affect 'make test the same way..]
Satish
>
> > you can replace the previous progname.patch with the following two.. [these should be in the next patch update]
> >
> > https://bitbucket.org/petsc/petsc/commits/1a5f81e5a142bc6fde36c3a51c072ace33ca0cf8
> > https://bitbucket.org/petsc/petsc/commits/9350f85d4de3048e6e39df431416aa18087af8b6
>
> Okay; i wait to know what you think about compiler flags, then i will
> rebuild petsc with these new patches.
>
> Thank you.
>
>
More information about the petsc-dev
mailing list