[petsc-dev] Fortran libraries cannot be used with C++ compiler

Matthew Knepley knepley at gmail.com
Tue Apr 1 10:49:13 CDT 2014


On Tue, Apr 1, 2014 at 9:53 AM, Pierpaolo Minelli <
pierpaolo.minelli at ba.imip.cnr.it> wrote:

> I am a fortran programmer so, i don't know how to check this.
> I have the latest suite of Intel Compiler. (Intel Cluster Studio XE 2013).
> Which type of check can i do to see if it is working c++ compiler?
> In the configure.log, it seems that some sources are compiled while this
> no, or i have seen wrong?
>

It looks like these MPI compilers never worked. If you are running in
parallel, just use the gcc
compilers that come with Cygwin and --download-mpich. Otherwise, use the
regular Intel compilers
and --with-mpi=0.

In general, Intel compilers are horribly fragile. If you really want the
Intel MPI, I suggest you fill out
a help ticket with them using the error message from below.

  Matt


> Pierpaolo
>
>
> Il giorno 01/apr/2014, alle ore 16:29, Matthew Knepley <knepley at gmail.com>
> ha scritto:
>
> On Tue, Apr 1, 2014 at 9:20 AM, Pierpaolo Minelli <
> pierpaolo.minelli at ba.imip.cnr.it> wrote:
>
>> Hi,
>>
>> Thanks for your reply. I tried with --with-cxxlib-autodetect=0 but i
>> obtain the same error.
>> In attachment you can find configure.log for both cases:
>> configure.log is my original log (without
>> using --with-cxxlib-autodetect=0)
>> configure.log.new is new log produced when i try to use option
>> --with-cxxlib-autodetect=0
>>
>
> This appears to be a problem with your MPI:
>
> ld: MPIR_Thread: TLS definition in /opt/intel/impi/
> 4.1.3.048/intel64/lib/libmpi_mt.so section .tbss mismatches non-TLS
> definition in /opt/intel/impi/4.1.3.048/intel64/lib/libmpi.so section .bss
> /opt/intel/impi/4.1.3.048/intel64/lib/libmpi.so: could not read symbols:
> Bad value
>             Popping language Cxx
>         compilers: Cannot compile/link Cxx with mpiicpc.
>
> Can you run anything with it?
>
>    Matt
>
>
>> Thanks,
>>
>> Pierpaolo
>>
>>
>>
>>
>> Il giorno 01/apr/2014, alle ore 15:02, Matthew Knepley <knepley at gmail.com>
>> ha scritto:
>>
>> On Tue, Apr 1, 2014 at 5:15 AM, Pierpaolo Minelli <
>> pierpaolo.minelli at ba.imip.cnr.it> wrote:
>>
>>> Hi,
>>>
>>> i have some problems when i try to configure latest version of
>>> petsc-dev.
>>> I use this command that was working with a previous version:
>>>
>>> ./configure --PETSC_DIR=/raid0/users/cscppm59/Installers/petsc
>>> --PETSC_ARCH=petsc_dev --with-debugger=idbc --with-cc=mpiicc
>>> --with-cxx=mpiicpc --with-fc=mpiifort --CFLAGS="-openmp -parallel"
>>> --FFLAGS="-ftz -O3 -prec-div -xSSE2 -mcmodel medium -shared-intel -openmp
>>> -parallel -fpp" --with-large-file-io=1 --with-debugging=0
>>> --with-mpiexec="mpirun -f ~/mpd.hosts -r ssh"
>>> --with-blas-lapack-dir=/opt/intel/mkl/lib/intel64/ --with-threadcomm
>>> --with-openmp --with-x=0 --download-superlu_dist --download-parmetis
>>> -download-hypre -download-ml --download-metis
>>>
>>> and i receive this error:
>>>
>>>
>>> *******************************************************************************
>>>          UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log
>>> for details):
>>>
>>> -------------------------------------------------------------------------------
>>> Fortran libraries cannot be used with C++ compiler.
>>>  Run with --with-fc=0 or --with-cxx=0
>>>
>>> *******************************************************************************
>>>   File "./config/configure.py", line 272, in petsc_configure
>>>     framework.configure(out = sys.stdout)
>>>   File
>>> "/home/users/cscppm59/Installers/petsc/config/BuildSystem/config/framework.py",
>>> line 935, in configure
>>>     child.configure()
>>>   File
>>> "/home/users/cscppm59/Installers/petsc/config/BuildSystem/config/compilers.py",
>>> line 1396, in configure
>>>     self.executeTest(self.checkFortranLibraries)
>>>   File
>>> "/home/users/cscppm59/Installers/petsc/config/BuildSystem/config/base.py",
>>> line 126, in executeTest
>>>     ret = test(*args,**kargs)
>>>   File
>>> "/home/users/cscppm59/Installers/petsc/config/BuildSystem/config/compilers.py",
>>> line 1050, in checkFortranLibraries
>>>     raise RuntimeError('Fortran libraries cannot be used with C++
>>> compiler.\n Run with --with-fc=0 or --with-cxx=0')
>>>
>>> ================================================================================
>>> Finishing Configure Run at Tue Apr  1 11:33:05 2014
>>>
>>> ================================================================================
>>>
>>
>> Send configure.log for this case. You can also try
>> --with-cxxlib-autodetect=0. This means you might have to put the C++
>> compiler libraries in --LIBS=<>.
>>
>>   Thanks,
>>
>>      Matt
>>
>>
>>> So i tried to configure using --with-cxx=0 since i use fortran and i
>>> receive a new error:
>>>
>>>
>>> *******************************************************************************
>>>          UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log
>>> for details):
>>>
>>> -------------------------------------------------------------------------------
>>> Error: Hypre requires C++ compiler. None specified
>>>
>>> *******************************************************************************
>>>   File "./config/configure.py", line 272, in petsc_configure
>>>     framework.configure(out = sys.stdout)
>>>   File
>>> "/home/users/cscppm59/Installers/petsc/config/BuildSystem/config/framework.py",
>>> line 935, in configure
>>>     child.configure()
>>>   File
>>> "/home/users/cscppm59/Installers/petsc/config/BuildSystem/config/package.py",
>>> line 605, in configure
>>>     self.executeTest(self.configureLibrary)
>>>   File
>>> "/home/users/cscppm59/Installers/petsc/config/BuildSystem/config/base.py",
>>> line 126, in executeTest
>>>     ret = test(*args,**kargs)
>>>   File
>>> "/home/users/cscppm59/Installers/petsc/config/BuildSystem/config/package.py",
>>> line 533, in configureLibrary
>>>     for location, directory, lib, incl in self.generateGuesses():
>>>   File
>>> "/home/users/cscppm59/Installers/petsc/config/BuildSystem/config/package.py",
>>> line 266, in generateGuesses
>>>     d = self.checkDownload(1)
>>>   File
>>> "/home/users/cscppm59/Installers/petsc/config/BuildSystem/config/package.py",
>>> line 382, in checkDownload
>>>     return self.getInstallDir()
>>>   File
>>> "/home/users/cscppm59/Installers/petsc/config/BuildSystem/config/package.py",
>>> line 221, in getInstallDir
>>>     return os.path.abspath(self.Install())
>>>   File
>>> "/home/users/cscppm59/Installers/petsc/config/PETSc/packages/hypre.py",
>>> line 48, in Install
>>>     raise RuntimeError('Error: Hypre requires C++ compiler. None
>>> specified')
>>>
>>> ================================================================================
>>> Finishing Configure Run at Tue Apr  1 11:45:23 2014
>>>
>>> ================================================================================
>>>
>>> Is there someone that could give me a workaround to solve this problem?
>>>
>>> Thanks in advance
>>>
>>>
>>
>>
>> --
>> 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
>
>
>


-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20140401/1d8365c6/attachment.html>


More information about the petsc-dev mailing list