[petsc-users] problem configuring 3.8.3 with intel mpi

Klaij, Christiaan C.Klaij at marin.nl
Thu Mar 22 08:48:52 CDT 2018


There's a bin64 symlink:

$ ls -l /opt/intel/compilers_and_libraries_2017.1.132/linux/mpi
total 0
drwxr-xr-x. 3 root root 16 Mar 28  2017 benchmarks
lrwxrwxrwx. 1 root root 11 Mar 28  2017 bin64 -> intel64/bin
drwxr-xr-x. 2 root root 41 Mar 28  2017 binding
lrwxrwxrwx. 1 root root 11 Mar 28  2017 etc64 -> intel64/etc
lrwxrwxrwx. 1 root root 15 Mar 28  2017 include64 -> intel64/include
drwxr-xr-x. 6 root root 50 Mar 28  2017 intel64
lrwxrwxrwx. 1 root root 11 Mar 28  2017 lib64 -> intel64/lib
drwxr-xr-x. 4 root root 28 Mar 28  2017 man
drwxr-xr-x. 6 root root 50 Mar 28  2017 mic
drwxr-xr-x. 2 root root 78 Mar 28  2017 test
$



dr. ir. Christiaan Klaij  | Senior Researcher | Research & Development
MARIN | T +31 317 49 33 44 | mailto:C.Klaij at marin.nl | http://www.marin.nl

MARIN news: http://www.marin.nl/web/News/News-items/SSSRIMARIN-seminar-May-18-2018-Shanghai.htm

________________________________________
From: Klaij, Christiaan
Sent: Thursday, March 22, 2018 2:43 PM
To: petsc-users
Subject: Re: [petsc-users] problem configuring 3.8.3 with intel mpi

OK, configure works with the option --with-cc=/path/to/mpicc,
thanks!

I'm not sure you are right about checking --with-mpi-dir/bin,
because, at least with this install, the binaries are located in
--with-mpi-dir/intel64/bin:

$ which mpicc
/opt/intel/compilers_and_libraries_2017.1.132/linux/mpi/intel64/bin/mpicc

Perhaps something to do with intel supporting both 32 and
64bit. Anyway, our sysadmin didn't change any of these locations,
they just run the intel installer and this is what we got.


________________________________________
From: Satish Balay <balay at mcs.anl.gov>
Sent: Thursday, March 22, 2018 2:18 PM
To: petsc-users
Cc: Klaij, Christiaan
Subject: Re: [petsc-users] problem configuring 3.8.3 with intel mpi

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