[petsc-dev] Possible error running C/C++ src/snes/examples/tutorials/ex19 with 1 MPI process
Antonio Trande
anto.trande at gmail.com
Tue Oct 11 14:28:25 CDT 2016
On 10/11/2016 07:53 PM, Satish Balay wrote:
> 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..
'configure' does not recognize '-D_FORTIFY_SOURCE=2' flag (it says that
should be -D-FORTIFY-SOURCE=2) that comes from default flags used on
Fedora and automatically set when package is built. I'm forced to
exclude it with 'configure' and re-introduce it with 'make'.
This is the reason because flags are set more times.
It's good if you can fix this problem with 'configure'.
However, i don't understand why errors appear from 'make test' by
building on Fedora 32bit systems only.
>
>> 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.
>>
>>
Patches included.
fedora 32bit:
https://copr-be.cloud.fedoraproject.org/results/sagitter/petsc/fedora-rawhide-i386/00463934-petsc/build.log.gz
fedora 64bit:
https://copr-be.cloud.fedoraproject.org/results/sagitter/petsc/fedora-rawhide-x86_64/00463934-petsc/build.log.gz
--
---
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-dev/attachments/20161011/995fc98f/attachment.sig>
More information about the petsc-dev
mailing list