[petsc-dev] Building Sowing fails with old system gcc

Blaise A Bourdin bourdin at lsu.edu
Thu Dec 3 14:16:55 CST 2020



> On Dec 3, 2020, at 10:32 AM, Satish Balay <balay at mcs.anl.gov> wrote:
> 
>>>>>>> 
> configure:6247: /lib/cpp  conftest.c
> In file included from conftest.c:11:0:
> /share/apps/intel-2020.2/compilers_and_libraries/linux/include/limits.h:37:54: error: missing binary operator before token "("
>     defined(__has_include_next) && __has_include_next(<limits.h>)
>                                                      ^
> configure:6247: $? = 1
> <<<<<
> 
> 
> I've seen these bad interactions with intel compilers and gcc. i.e - when intel compiler modifies env for itself - it breaks gcc.
> 
> [and this newer version if intel compiler requires a newer gcc in PATH anyway :(  - otherwise some c++ features don't work..]
> 
> Don't know how to deal with such issues [created by intel compilers..]

Let’s not try to fix what the intel compilers break! Passing epic and mlicxx as the compilers to sowing works well enough.

Regards,
Blaise


> 
> Satish
> 
> On Thu, 3 Dec 2020, Blaise A Bourdin wrote:
> 
>> 
>> 
>>> On Dec 3, 2020, at 10:15 AM, Satish Balay <balay at mcs.anl.gov> wrote:
>>> 
>>> On Thu, 3 Dec 2020, Blaise A Bourdin wrote:
>>> 
>>>> Hi,
>>>> 
>>>> Building sowing fails when I try to compile petsc on a RHEL7 system with the default gcc (4.8.5) and intel compilers.
>>>> Looking at the log file and sowing.py, it looks like sowing configure step does not inherit from the compilers detected by BuildSystem at an earlier stage, so that instead of using the intel compilers, it pulls my ancient gcc.
>>>> 
>>>> Instead of having to clumsily add --download-sowing-cc=mpicc --download-sowing-cxx=mpicxx to the configure options, would it make sense to populate the CC, CXX, CPP, CXXPP configure options (sowing.py:40-47) with the PETSc compilers? I can do it if that is OK.
>>> 
>>> The reason for the current design is - sowing [and similar build tools] - are for the build machine - and the petsc library [and CC etc] are for the compute machine [in cases where these are different].
>>> 
>>> Also sowing didn't work with most compilers - and default gcc [from PATH] was the most sane default compiler for it.
>>> 
>>> And defaults don't always work [if defaults are changed - if might fix this senario - but break in others that are curently working...] - hence we have these extra options for use - in these cases.
>> 
>> OK, that does make a lot of sense.
>> 
>>> 
>>> I'm surprised sowing doesn't work with gcc-4.8.5. I'll have to recheck.
>> I am attaching my sowing config.log and configure.log
>> 
>> 
>> 
>> Regards,
>> Blaise
>> 
>> --
>> A.K. & Shirley Barton Professor of  Mathematics
>> Adjunct Professor of Mechanical Engineering
>> Adjunct of the Center for Computation & Technology
>> Louisiana State University, Lockett Hall Room 344, Baton Rouge, LA 70803, USA
>> Tel. +1 (225) 578 1612, Fax  +1 (225) 578 4276 Web http://www.math.lsu.edu/~bourdin
>> 
>> 
> 

-- 
A.K. & Shirley Barton Professor of  Mathematics
Adjunct Professor of Mechanical Engineering
Adjunct of the Center for Computation & Technology
Louisiana State University, Lockett Hall Room 344, Baton Rouge, LA 70803, USA
Tel. +1 (225) 578 1612, Fax  +1 (225) 578 4276 Web http://www.math.lsu.edu/~bourdin



More information about the petsc-dev mailing list