[petsc-users] problem configuring 3.8.3 with intel mpi

Satish Balay balay at mcs.anl.gov
Thu Mar 22 08:07:53 CDT 2018


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