[petsc-users] compile petsc with intel compiler

Michael Povolotskyi mpovolot at purdue.edu
Wed Jul 10 12:25:57 CDT 2013


Hello everybody,
with two tricks I managed to build petsc (the real double precision 
number version).
The tricks are as follows:
1) add the following to the linker flags:

-L/opt/intel/lib/intel64 -Wl,-rpath=/opt/intel/lib/intel64 -lintlc
This makes configuration to run

2) add the following to the compiler options:
  -I /usr/include/x86_64-linux-gnu/c++/4.7
This allows to compile the source

Thanks to everybody for help.
Michael.


On 07/10/2013 11:12 AM, Satish Balay wrote:
> Hm - thats wierd. Was it installed by dpkg or something else?
> On my ubuntu 12.04 box - I get:
>
> balay at petsc^~ $ locate bits/c++config.h
> /usr/include/c++/4.4/x86_64-linux-gnu/32/bits/c++config.h
> /usr/include/c++/4.4/x86_64-linux-gnu/bits/c++config.h
> /usr/include/c++/4.6/x86_64-linux-gnu/32/bits/c++config.h
> /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h
>
>
> You can try specifing the include path with CXXCPPFLAGS [for the c++ compiler]
>
> Satish
>
> On Wed, 10 Jul 2013, Michael Povolotskyi wrote:
>
>> Hi Satish,
>> it looks like I have this file but not in "standard" location:
>> locate bits/c++config.h
>> /usr/include/x86_64-linux-gnu/c++/4.7/bits/c++config.h
>> /usr/share/gccxml-0.9/GCC/4.4/bits/c++config.h
>> /usr/share/gccxml-0.9/GCC/4.6/bits/c++config.h
>> /usr/share/gccxml-0.9/GCC/4.7/bits/c++config.h
>>
>>
>> Should I try to add -I usr/include/x86_64-linux-gnu/c++/4.7/ to the CPPLAGS?
>> Michael.
>>
>> On 07/10/2013 10:41 AM, Satish Balay wrote:
>>> Perhaps stuff is not installed correctly on this machine?
>>>
>>> [petsc:~] petsc> dpkg -S /usr/include/c++/4.6/bits/stl_algobase.h
>>> libstdc++6-4.6-dev: /usr/include/c++/4.6/bits/stl_algobase.h
>>> [petsc:~] petsc> dpkg -S
>>> /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h
>>> libstdc++6-4.6-dev: /usr/include/c++/4.6/x86_64-linux-gnu/bits/c++config.h
>>> [petsc:~] petsc>
>>>
>>>
>>> So both bits/stl_algobase.h and bits/c++config.h are installed by libstdc++
>>> package.
>>>
>>> What do you have for:
>>>
>>> ls /usr/include/c++/4.7/bits/stl_algobase.h
>>> ls /usr/include/c++/4.7/x86_64-linux-gnu/bits/c++config.h
>>> dpkg -S /usr/include/c++/4.7/bits/stl_algobase.h
>>> dpkg -S /usr/include/c++/4.7/x86_64-linux-gnu/bits/c++config.h
>>>
>>> [perhaps the files exist - but the intel compiler is not finding it?]
>>>
>>> Satish
>>>
>>>
>>> On Wed, 10 Jul 2013, Michael Povolotskyi wrote:
>>>
>>>> Thank you Matt.
>>>> Unfortunately 'make all-legacy' gives the same error:
>>>> =========================================
>>>> libfast in: /home/mpovolot/Code_intel/libs/petsc/build-real/src
>>>> libfast in: /home/mpovolot/Code_intel/libs/petsc/build-real/src/sys
>>>> libfast in:
>>>> /home/mpovolot/Code_intel/libs/petsc/build-real/src/sys/classes
>>>> libfast in:
>>>> /home/mpovolot/Code_intel/libs/petsc/build-real/src/sys/classes/viewer
>>>> libfast in:
>>>> /home/mpovolot/Code_intel/libs/petsc/build-real/src/sys/classes/viewer/impls
>>>> libfast in:
>>>> /home/mpovolot/Code_intel/libs/petsc/build-real/src/sys/classes/viewer/impls/socket
>>>> /usr/include/c++/4.7/bits/stl_algobase.h(60): catastrophic error: cannot
>>>> open
>>>> source file "bits/c++config.h"
>>>>     #include <bits/c++config.h>
>>>>                                ^
>>>>
>>>> compilation aborted for send.c (code 4)
>>>>
>>>>
>>>>
>>>> Michael.
>>>>
>>>> On 07/10/2013 08:05 AM, Matthew Knepley wrote:
>>>>> On Wed, Jul 10, 2013 at 12:00 AM, Michael Povolotskyi
>>>>> <mpovolot at purdue.edu
>>>>> <mailto:mpovolot at purdue.edu>> wrote:
>>>>>
>>>>>       Hello everybody,
>>>>>       unfortunately building petsc without fortran cannot work for me
>>>>>       because I need MUMPs that requires Scalapack that needs fortran. I
>>>>>       played with the options. As result the configuration runs okay,
>>>>>       the build gives an error that does not seem to be related to
>>>>> fortran:
>>>>>
>>>>>
>>>>> Quit building with CMake. It complicates everything. Use the legacy
>>>>> build.
>>>>>
>>>>>      Matt
>>>>>
>>>>>       [  0%] Building CXX object
>>>>>       CMakeFiles/petscsys.dir/src/sys/totalview/tv_data_display.c.o
>>>>>       Building Fortran object
>>>>>       CMakeFiles/petscsys.dir/src/sys/f90-mod/petscsysmod.F.o
>>>>>       Building CXX object
>>>>>       CMakeFiles/petscsys.dir/src/sys/python/pythonsys.c.o
>>>>>       [  0%] /usr/include/c++/4.7/bits/stl_algobase.h(60): catastrophic
>>>>>       error: cannot open source file "bits/c++config.h"
>>>>>         #include <bits/c++config.h>
>>>>>                                    ^
>>>>>
>>>>>       /usr/include/c++/4.7/bits/stl_algobase.h(60): catastrophic error:
>>>>>       cannot open source file "bits/c++config.h"
>>>>>         #include <bits/c++config.h>
>>>>>                                    ^
>>>>>
>>>>>       compilation aborted for
>>>>>       /home/mpovolot/Code_intel/libs/petsc/build-real/src/sys/info/verboseinfo.c
>>>>>       (code 4)
>>>>>       compilation aborted for
>>>>>       /home/mpovolot/Code_intel/libs/petsc/build-real/src/sys/logging/plog.c
>>>>>       (code 4)
>>>>>
>>>>>       I attach here the log files.
>>>>>       Any advise is highly appreciated.
>>>>>       Michael.
>>>>>
>>>>>       On 7/9/2013 4:34 PM, Matthew Knepley wrote:
>>>>>>       On Tue, Jul 9, 2013 at 3:32 PM, Michael Povolotskyi
>>>>>>       <mpovolot at purdue.edu <mailto:mpovolot at purdue.edu>> wrote:
>>>>>>
>>>>>>           If I  do not need to use petsc in fortran programs, can I
>>>>>>           build petsc without fortran and thus avoid this situation?
>>>>>>           Michael.
>>>>>>
>>>>>>
>>>>>>           On 07/09/2013 04:31 PM, Satish Balay wrote:
>>>>>>
>>>>>>               For some reason this issue comes up with mpi.mod provided
>>>>>>               by intel
>>>>>>               mpi.
>>>>>>
>>>>>>               We have a configure test for it - but looks like its not
>>>>>>               sufficient to
>>>>>>               catch this issue.
>>>>>>
>>>>>>               satish
>>>>>>
>>>>>>
>>>>>>               On Tue, 9 Jul 2013, Matthew Knepley wrote:
>>>>>>
>>>>>>                   On Tue, Jul 9, 2013 at 3:11 PM, Michael Povolotskyi
>>>>>>                   <mpovolot at purdue.edu
>>>>>> <mailto:mpovolot at purdue.edu>>wrote:
>>>>>>
>>>>>>                       Dear Petsc users and developers,
>>>>>>                       I'm trying to build petsc with Intel compiler.
>>>>>>
>>>>>>                   1) First, ask yourself whether you really want to
>>>>>>                   build with the Intel
>>>>>>                   compiler. Then ask again.
>>>>>>
>>>>>>                   2) Do you need Fortran? If not, turn it off
>>>>>> --with-fc=0.
>>>>>>
>>>>>>        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>>>>>
>>>>>>            Matt
>>>>>>
>>>>>>                   3) If you want Fortran and Intel (and have a hatred
>>>>>>                   of free time), try the
>>>>>>                   legacy build
>>>>>>
>>>>>>                       make all-legacy
>>>>>>
>>>>>>                   4) If this is still broken, send the new make.log
>>>>>>
>>>>>>                      Thanks,
>>>>>>
>>>>>>                        Matt
>>>>>>
>>>>>>
>>>>>>                       The configuration process runs okay (I attach the
>>>>>>                       log here),
>>>>>>                       but I get an error when I build it:
>>>>>>                       -- Configuring done
>>>>>>                       -- Generating done
>>>>>>                       -- Build files have been written to:
>>>>>>                       /home/mpovolot/Code_intel/**
>>>>>>                       libs/petsc/build-real/linux
>>>>>>                       Scanning dependencies of target petscsys
>>>>>>                       [  0%] [  0%] [  0%] Building CXX object
>>>>>>                       CMakeFiles/petscsys.dir/src/**
>>>>>>                       sys/info/verboseinfo.c.o
>>>>>>                       Building Fortran object
>>>>>>                       CMakeFiles/petscsys.dir/src/**
>>>>>>                       sys/f90-mod/petscsysmod.F.o
>>>>>>                       Building CXX object
>>>>>> CMakeFiles/petscsys.dir/src/**
>>>>>>                       sys/totalview/tv_data_display.**c.o
>>>>>>                       Building CXX object
>>>>>>                       CMakeFiles/petscsys.dir/src/**sys/python/pythonsys.c.o
>>>>>>                       Building CXX object
>>>>>>                       CMakeFiles/petscsys.dir/src/**sys/logging/plog.c.o
>>>>>>                       /home/mpovolot/Code_intel/**libs/petsc/build-real/src/sys/**
>>>>>>                       f90-mod/petscsysmod.F:6.11:
>>>>>>
>>>>>>                                use mpi
>>>>>>                                   1
>>>>>>                       Fatal Error: File 'mpi.mod' opened at (1) is not
>>>>>>                       a GFORTRAN module file
>>>>>>                       make[6]: ***
>>>>>>                       [CMakeFiles/petscsys.dir/src/**sys/f90-mod/petscsysmod.F.o]
>>>>>>                       Error 1
>>>>>>                       make[6]: *** Waiting for unfinished jobs....
>>>>>>                       make[5]: *** [CMakeFiles/petscsys.dir/all] Error
>>>>>> 2
>>>>>>                       make[4]: *** [all] Error 2
>>>>>>                       make[3]: *** [ccmake] Error 2
>>>>>>                       make[2]: *** [cmake] Error 2
>>>>>>                       ****************************ERROR**************************************
>>>>>>                          Error during compile, check
>>>>>> linux/conf/make.log
>>>>>>                          Send it and linux/conf/configure.log to
>>>>>>                       petsc-maint at mcs.anl.gov
>>>>>>                       <mailto:petsc-maint at mcs.anl.gov>
>>>>>>                       ************************************************************************
>>>>>>
>>>>>>                       I attach here the make.log
>>>>>>                       What is strange to me that it has something to do
>>>>>>                       with Gfortran, while I
>>>>>>                       want to build everything with Intel.
>>>>>>                       Thank you for help,
>>>>>>                       Michael.
>>>>>>
>>>>>>                       --
>>>>>>                       Michael Povolotskyi, PhD
>>>>>>                       Research Assistant Professor
>>>>>>                       Network for Computational Nanotechnology
>>>>>>                       207 S Martin Jischke Drive
>>>>>>                       Purdue University, DLR, room 441-10
>>>>>>                       West Lafayette, Indiana 47907
>>>>>>
>>>>>>                       phone: +1-765-494-9396 <tel:%2B1-765-494-9396>
>>>>>>                       fax: +1-765-496-6026 <tel:%2B1-765-496-6026>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>       --     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
>>>>>
>>>>>
>>>>> -- 
>>>>> 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
>>



More information about the petsc-users mailing list