[petsc-users] problem configuring 3.8.3 with intel mpi

Satish Balay balay at mcs.anl.gov
Thu Mar 22 08:18:15 CDT 2018


Added this change to balay/mpi-dir-check-warning/maint and merged to next.

Satish

On Thu, 22 Mar 2018, Satish Balay wrote:

> The relevant change that is causing the difference is:
> 
> https://bitbucket.org/petsc/petsc/commits/a98758b74fbc47f3dca87b526141d347301fd5eb
> 
> Perhaps we should print a warning if with-mpi-dir/bin is missing.
> 
> $ ./configure --with-mpi-dir=$HOME/tmp
> ===============================================================================
>              Configuring PETSc to compile on your system                       
> ===============================================================================
> ===============================================================================                                                                          ***** WARNING: /home/balay/tmp/bin dir does not exist!                                                                                              Skipping check for MPI compilers due to potentially incorrect --with-mpi-dir option.                                                               Suggest using --with-cc=/path/to/mpicc option instead ******                                                                                ===============================================================================                                                                    
> 
> Satish
> 
> ---------
> 
> $ git diff
> diff --git a/config/BuildSystem/config/setCompilers.py b/config/BuildSystem/config/setCompilers.py
> index 3b4b723e71..1ca92d309a 100644
> --- a/config/BuildSystem/config/setCompilers.py
> +++ b/config/BuildSystem/config/setCompilers.py
> @@ -515,6 +515,8 @@ class Configure(config.base.Configure):
>        if self.useMPICompilers() and 'with-mpi-dir' in self.argDB:
>        # if it gets here these means that self.argDB['with-mpi-dir']/bin does not exist so we should not search for MPI compilers
>        # that is we are turning off the self.useMPICompilers()
> +        self.logPrintBox('***** WARNING: '+os.path.join(self.argDB['with-mpi-dir'], 'bin')+ ' dir does not exist!\n Skipping check for MPI compilers due to potentially incorrect --with-mpi-dir option.\n Suggest using --with-cc=/path/to/mpicc option instead ******')
> +
>          self.argDB['with-mpi-compilers'] = 0
>        if self.useMPICompilers():
>          self.usedMPICompilers = 1
> 
> 
> On Thu, 22 Mar 2018, Satish Balay wrote:
> 
> > In either case --mpi-dir=/opt/intel/compilers_and_libraries_2017.1.132/linux/mpi is the wrong option.
> > 
> > Its a shortcut for --with-cc=/opt/intel/compilers_and_libraries_2017.1.132/linux/mpi/bin/mpicc - which you
> > don't have.
> > 
> > Since you have mpicc in your path - you can just use:
> > 
> > --with-cc=mpicc [or skip specifying it - and configure will look at your path]
> > 
> > Satish
> > 
> > On Thu, 22 Mar 2018, Klaij, Christiaan wrote:
> > 
> > > Matt,
> > > 
> > > The problem must be earlier, because it should be using mpicc for
> > > the check, not gcc. The mpi.h is found here by the 3.7.5 config:
> > > 
> > > Executing: mpicc -E  -I/tmp/petsc-JIF0WC/config.setCompilers -I/tmp/petsc-JIF0WC/config.types -I/tmp/petsc-JIF0WC/config.headers  -I/opt/intel/compilers_and_libraries_2017.1.132/linux/mpi/include -I/opt/intel/compilers_and_libraries_2017.1.132/linux/mpi/intel64/include /tmp/petsc-JIF0WC/config.headers/conftest.c
> > > stdout:
> > > # 1 "/tmp/petsc-JIF0WC/config.headers/conftest.c"
> > > # 1 "/tmp/petsc-JIF0WC/config.headers/confdefs.h" 1
> > > # 2 "/tmp/petsc-JIF0WC/config.headers/conftest.c" 2
> > > # 1 "/tmp/petsc-JIF0WC/config.headers/conffix.h" 1
> > > # 3 "/tmp/petsc-JIF0WC/config.headers/conftest.c" 2
> > > # 1 "/opt/intel/compilers_and_libraries_2017.1.132/linux/mpi/intel64/include/mpi.h" 1
> > > 
> > > Note that the machine and ENV are exactly the same, the only
> > > change is 3.7.5 versus 3.8.3.
> > > 
> > > Chris
> > > 
> > > dr. ir. Christiaan Klaij | Senior Researcher | Research & Development
> > > MARIN | T +31 317 49 33 44 | C.Klaij at marin.nl<mailto:C.Klaij at marin.nl> | www.marin.nl<http://www.marin.nl>
> > > 
> > > [LinkedIn]<https://www.linkedin.com/company/marin> [YouTube] <http://www.youtube.com/marinmultimedia>  [Twitter] <https://twitter.com/MARIN_nieuws>  [Facebook] <https://www.facebook.com/marin.wageningen>
> > > MARIN news: Office tool aNySIM integrated into real-time onboard software<http://www.marin.nl/web/News/News-items/Office-tool-aNySIM-integrated-into-realtime-onboard-software-1.htm>
> > > 
> > > ________________________________
> > > From: Matthew Knepley <knepley at gmail.com>
> > > Sent: Thursday, March 22, 2018 1:27 PM
> > > To: Klaij, Christiaan
> > > Cc: petsc-users at mcs.anl.gov
> > > Subject: Re: [petsc-users] problem configuring 3.8.3 with intel mpi
> > > 
> > > On Thu, Mar 22, 2018 at 8:00 AM, Klaij, Christiaan <C.Klaij at marin.nl<mailto:C.Klaij at marin.nl>> wrote:
> > > Satish,
> > > 
> > > I'm trying to upgrade from 3.7.5 to 3.8.3. The first problem is
> > > that my intel mpi installation, which works for 3.7.5, fails with
> > > 3.8.3, see the attached logs. It seems that the mpi compilers are
> > > not found anymore. Any ideas?
> > > 
> > > The header check failed:
> > > 
> > >                   Checking include with compiler flags var CPPFLAGS ['/opt/intel/compilers_and_libraries_2017.1.132/linux/mpi/include']
> > > Executing: gcc -E  -I/tmp/petsc-8GlPlN/config.setCompilers -I/tmp/petsc-8GlPlN/config.types -I/tmp/petsc-8GlPlN/config.headers  -I/opt/intel/compilers_and_libraries_2017.1.132/linux/mpi/include /tmp/petsc-8GlPlN/config.headers/conftest.c
> > > stdout:
> > > # 1 "/tmp/petsc-8GlPlN/config.headers/conftest.c"
> > > # 1 "<built-in>"
> > > # 1 "<command-line>"
> > > # 1 "/usr/include/stdc-predef.h" 1 3 4
> > > # 1 "<command-line>" 2
> > > # 1 "/tmp/petsc-8GlPlN/config.headers/conftest.c"
> > > # 1 "/tmp/petsc-8GlPlN/config.headers/confdefs.h" 1
> > > # 2 "/tmp/petsc-8GlPlN/config.headers/conftest.c" 2
> > > # 1 "/tmp/petsc-8GlPlN/config.headers/conffix.h" 1
> > > # 3 "/tmp/petsc-8GlPlN/config.headers/conftest.c" 2
> > > Possible ERROR while running preprocessor: exit code 256
> > > stdout:
> > > # 1 "/tmp/petsc-8GlPlN/config.headers/conftest.c"
> > > # 1 "<built-in>"
> > > # 1 "<command-line>"
> > > # 1 "/usr/include/stdc-predef.h" 1 3 4
> > > # 1 "<command-line>" 2
> > > # 1 "/tmp/petsc-8GlPlN/config.headers/conftest.c"
> > > # 1 "/tmp/petsc-8GlPlN/config.headers/confdefs.h" 1
> > > # 2 "/tmp/petsc-8GlPlN/config.headers/conftest.c" 2
> > > # 1 "/tmp/petsc-8GlPlN/config.headers/conffix.h" 1
> > > # 3 "/tmp/petsc-8GlPlN/config.headers/conftest.c" 2stderr:
> > > /tmp/petsc-8GlPlN/config.headers/conftest.c:3:17: fatal error: mpi.h: No such file or directory
> > >  #include <mpi.h>
> > >                  ^
> > > compilation terminated.
> > > Source:
> > > #include "confdefs.h"
> > > #include "conffix.h"
> > > #include <mpi.h>
> > > Preprocess stderr before filtering:/tmp/petsc-8GlPlN/config.headers/conftest.c:3:17: fatal error: mpi.h: No such file or directory
> > >  #include <mpi.h>
> > > 
> > > Where are the headers?
> > > 
> > >   Thanks,
> > > 
> > >     Matt
> > > 
> > > Chris
> > > 
> > > 
> > > dr. ir. Christiaan Klaij  | Senior Researcher | Research & Development
> > > MARIN | T +31 317 49 33 44 | mailto:C.Klaij at marin.nl<mailto:C.Klaij at marin.nl> | http://www.marin.nl
> > > 
> > > MARIN news: http://www.marin.nl/web/News/News-items/Office-tool-aNySIM-integrated-into-realtime-onboard-software-1.htm
> > > 
> > > 
> > > 
> > > 
> > > --
> > > What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
> > > -- Norbert Wiener
> > > 
> > > https://www.cse.buffalo.edu/~knepley/<http://www.caam.rice.edu/~mk51/>
> > > 
> > > 
> > > 
> > 
> > 
> 
> 



More information about the petsc-users mailing list