[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