[petsc-users] FFT Matrix Examples/Tests: Compiletime error

Thomas Hisch t.hisch at gmail.com
Tue Jul 10 11:59:55 CDT 2012


Thx for the hint.

Should PETSc-dev in principle work with gcc-4.7, because I get the
following error while building petsc:

-----------------------------------------
Using C/C++ compile: mpicxx -c -Wall -Wwrite-strings
-Wno-strict-aliasing -Wno-unknown-pragmas -O3   -fPIC
-I/home/thomas/local/src/petsc-dev/include
-I/home/thomas/local/src/petsc-dev/arch-linux2-cxx-release/include
-I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi
-D__INSDIR__=./
Using Fortran compile: mpif90 -c -fPIC -Wall -Wno-unused-variable
-Wno-unused-dummy-argument
-I/home/thomas/local/src/petsc-dev/include
-I/home/thomas/local/src/petsc-dev/arch-linux2-cxx-release/include
-I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi
-----------------------------------------
Using C/C++ linker: mpicxx
Using C/C++ flags: -Wall -Wwrite-strings -Wno-strict-aliasing
-Wno-unknown-pragmas -O3
Using Fortran linker: mpif90
Using Fortran flags: -fPIC -Wall -Wno-unused-variable
-Wno-unused-dummy-argument
-----------------------------------------
Using libraries:
-Wl,-rpath,/home/thomas/local/src/petsc-dev/arch-linux2-cxx-release/lib
-L/home/thomas/local/src/petsc-dev/arch-linux2-cxx-release/lib
-lpetsc -lX11 -Wl,-rpath,/home/thomas/local/src/petsc-dev/arch-linux2-cxx-release/lib
-lfftw3_mpi -lfftw3 -lpthread
-Wl,-rpath,/opt/intel/composer_xe_2011_sp1.11.339/mkl/lib/intel64
-L/opt/intel/composer_xe_2011_sp1.11.339/mkl/lib/intel64 -llapack
-lblas -Wl,-rpath,/usr/lib/openmpi/lib -L/usr/lib/openmpi/lib
-Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/4.7
-L/usr/lib/gcc/x86_64-linux-gnu/4.7
-Wl,-rpath,/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu
-Wl,-rpath,/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu
-Wl,-rpath,/opt/intel/composer_xe_2011_sp1.11.339/compiler/lib/intel64
-L/opt/intel/composer_xe_2011_sp1.11.339/compiler/lib/intel64
-Wl,-rpath,/opt/intel/composer_xe_2011_sp1.10.319/compiler/lib/intel64
-L/opt/intel/composer_xe_2011_sp1.10.319/compiler/lib/intel64
-Wl,-rpath,/opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/intel64
-L/opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/intel64
-Wl,-rpath,/opt/intel/composer_xe_2011_sp1.10.319/mkl/lib/intel64
-L/opt/intel/composer_xe_2011_sp1.10.319/mkl/lib/intel64
-Wl,-rpath,/opt/intel/composer_xe_2011_sp1.10.319/tbb/lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21
-L/opt/intel/composer_xe_2011_sp1.10.319/tbb/lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21
-lmpi_f90 -lmpi_f77 -lgfortran -lm -lgfortran -lm -lgfortran -lm -lm
-lquadmath -lm -lmpi_cxx -lstdc++ -ldl -lmpi -lopen-rte -lopen-pal
-lnsl -lutil -lgcc_s -lpthread -ldl
------------------------------------------
Using mpiexec: mpiexec
==========================================
Building PETSc using CMake with 5 build threads
==========================================
Re-run cmake file: Makefile older than: ../CMakeLists.txt
-- Configuring done
-- Generating done
-- Build files have been written to:
/home/thomas/local/src/petsc-dev/arch-linux2-cxx-release
Scanning dependencies of target petsc
[  0%] Building Fortran object
CMakeFiles/petsc.dir/src/sys/f90-mod/petscsysmod.F.o
[  0%] Building Fortran object
CMakeFiles/petsc.dir/src/vec/f90-mod/petscvecmod.F.o
[  1%] Building Fortran object
CMakeFiles/petsc.dir/src/mat/f90-mod/petscmatmod.F.o
[  1%] Building Fortran object
CMakeFiles/petsc.dir/src/dm/f90-mod/petscdmmod.F.o
[  1%] Building Fortran object
CMakeFiles/petsc.dir/src/ksp/f90-mod/petsckspmod.F.o
[  1%] Building Fortran object
CMakeFiles/petsc.dir/src/snes/f90-mod/petscsnesmod.F.o
[  2%] [  2%] [  2%] [  2%] [  2%] Building Fortran object
CMakeFiles/petsc.dir/src/ts/f90-mod/petsctsmod.F.o
Building CXX object CMakeFiles/petsc.dir/src/sys/verbose/verboseinfo.c.o
Building CXX object CMakeFiles/petsc.dir/src/sys/viewer/interface/view.c.o
Building CXX object CMakeFiles/petsc.dir/src/sys/viewer/interface/viewregall.c.o
Building CXX object CMakeFiles/petsc.dir/src/sys/viewer/interface/flush.c.o
[  2%] In file included from
/home/thomas/local/src/petsc-dev/include/petscsys.h:1536:0,
                 from
/home/thomas/local/src/petsc-dev/src/sys/verbose/verboseinfo.c:6:
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h: In
function ‘PetscBool PetscCheckPointer(const void*, PetscDataType)’:
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h:197:60:
error: no matching function for call to
‘std::complex<double>::complex(volatile PetscScalar&)’
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h:197:60:
note: candidates are:
In file included from /home/thomas/local/src/petsc-dev/include/petscmath.h:60:0,
                 from /home/thomas/local/src/petsc-dev/include/petscsys.h:337,
                 from
/home/thomas/local/src/petsc-dev/src/sys/verbose/verboseinfo.c:6:
/usr/include/c++/4.7/complex:1205:26: note:
std::complex<double>::complex(const std::complex<float>&)
/usr/include/c++/4.7/complex:1205:26: note:   no known conversion for
argument 1 from ‘volatile PetscScalar {aka volatile
std::complex<double>}’ to ‘const std::complex<float>&’
/usr/include/c++/4.7/complex:1195:26: note:
std::complex<double>::complex(double, double)
/usr/include/c++/4.7/complex:1195:26: note:   no known conversion for
argument 1 from ‘volatile PetscScalar {aka volatile
std::complex<double>}’ to ‘double’
/usr/include/c++/4.7/complex:1193:26: note:
std::complex<double>::complex(std::complex<double>::_ComplexT)
/usr/include/c++/4.7/complex:1193:26: note:   no known conversion for
argument 1 from ‘volatile PetscScalar {aka volatile
std::complex<double>}’ to ‘std::complex<double>::_ComplexT {aka
__complex__ double}’
/usr/include/c++/4.7/complex:1188:12: note:
std::complex<double>::complex(const std::complex<double>&)
/usr/include/c++/4.7/complex:1188:12: note:   no known conversion for
argument 1 from ‘volatile PetscScalar {aka volatile
std::complex<double>}’ to ‘const std::complex<double>&’
In file included from
/home/thomas/local/src/petsc-dev/include/petscsys.h:1536:0,
                 from
/home/thomas/local/src/petsc-dev/include/petsc-private/viewerimpl.h:5,
                 from
/home/thomas/local/src/petsc-dev/src/sys/viewer/interface/flush.c:2:
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h: In
function ‘PetscBool PetscCheckPointer(const void*, PetscDataType)’:
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h:197:60:
error: no matching function for call to
‘std::complex<double>::complex(volatile PetscScalar&)’
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h:197:60:
note: candidates are:
In file included from /home/thomas/local/src/petsc-dev/include/petscmath.h:60:0,
                 from /home/thomas/local/src/petsc-dev/include/petscsys.h:337,
                 from
/home/thomas/local/src/petsc-dev/include/petsc-private/viewerimpl.h:5,
                 from
/home/thomas/local/src/petsc-dev/src/sys/viewer/interface/flush.c:2:
/usr/include/c++/4.7/complex:1205:26: note:
std::complex<double>::complex(const std::complex<float>&)
/usr/include/c++/4.7/complex:1205:26: note:   no known conversion for
argument 1 from ‘volatile PetscScalar {aka volatile
std::complex<double>}’ to ‘const std::complex<float>&’
/usr/include/c++/4.7/complex:1195:26: note:
std::complex<double>::complex(double, double)
/usr/include/c++/4.7/complex:1195:26: note:   no known conversion for
argument 1 from ‘volatile PetscScalar {aka volatile
std::complex<double>}’ to ‘double’
/usr/include/c++/4.7/complex:1193:26: note:
std::complex<double>::complex(std::complex<double>::_ComplexT)
/usr/include/c++/4.7/complex:1193:26: note:   no known conversion for
argument 1 from ‘volatile PetscScalar {aka volatile
std::complex<double>}’ to ‘std::complex<double>::_ComplexT {aka
__complex__ double}’
/usr/include/c++/4.7/complex:1188:12: note:
std::complex<double>::complex(const std::complex<double>&)
/usr/include/c++/4.7/complex:1188:12: note:   no known conversion for
argument 1 from ‘volatile PetscScalar {aka volatile
std::complex<double>}’ to ‘const std::complex<double>&’
Building CXX object CMakeFiles/petsc.dir/src/sys/viewer/interface/viewreg.c.o
In file included from
/home/thomas/local/src/petsc-dev/include/petscsys.h:1536:0,
                 from
/home/thomas/local/src/petsc-dev/include/petsc-private/viewerimpl.h:5,
                 from
/home/thomas/local/src/petsc-dev/src/sys/viewer/interface/viewregall.c:2:
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h: In
function ‘PetscBool PetscCheckPointer(const void*, PetscDataType)’:
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h:197:60:
error: no matching function for call to
‘std::complex<double>::complex(volatile PetscScalar&)’
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h:197:60:
note: candidates are:
In file included from /home/thomas/local/src/petsc-dev/include/petscmath.h:60:0,
                 from /home/thomas/local/src/petsc-dev/include/petscsys.h:337,
                 from
/home/thomas/local/src/petsc-dev/include/petsc-private/viewerimpl.h:5,
                 from
/home/thomas/local/src/petsc-dev/src/sys/viewer/interface/viewregall.c:2:
/usr/include/c++/4.7/complex:1205:26: note:
std::complex<double>::complex(const std::complex<float>&)
/usr/include/c++/4.7/complex:1205:26: note:   no known conversion for
argument 1 from ‘volatile PetscScalar {aka volatile
std::complex<double>}’ to ‘const std::complex<float>&’
/usr/include/c++/4.7/complex:1195:26: note:
std::complex<double>::complex(double, double)
/usr/include/c++/4.7/complex:1195:26: note:   no known conversion for
argument 1 from ‘volatile PetscScalar {aka volatile
std::complex<double>}’ to ‘double’
/usr/include/c++/4.7/complex:1193:26: note:
std::complex<double>::complex(std::complex<double>::_ComplexT)
/usr/include/c++/4.7/complex:1193:26: note:   no known conversion for
argument 1 from ‘volatile PetscScalar {aka volatile
std::complex<double>}’ to ‘std::complex<double>::_ComplexT {aka
__complex__ double}’
/usr/include/c++/4.7/complex:1188:12: note:
std::complex<double>::complex(const std::complex<double>&)
/usr/include/c++/4.7/complex:1188:12: note:   no known conversion for
argument 1 from ‘volatile PetscScalar {aka volatile
std::complex<double>}’ to ‘const std::complex<double>&’
......

I called configure with:

./configure --with-c++-support=1 --with-scalar-type=complex
--with-x11=0 --with-clanguage=cxx
--with-blas-lapack-dir=/opt/intel/composer_xe_2011_sp1.11.339/mkl/lib/intel64
CXXOPTFLAGS="-O3" COPTFLAGS="-O3" FOPTFLAGS="-03"
--with-shared-libraries=1 --with-debugging=0 --download-fftw=1

Regards
Thomas


On Tue, Jul 10, 2012 at 6:44 PM, ajay.rawat83 at gmail.com
<ajay.rawat83 at gmail.com> wrote:
> No, try to use petsc-dev with slepc-dev
> -----Original message-----
> From: Thomas Hisch
> Sent:  10/07/2012, 9:07  pm
> To: PETSc users list
> Subject: Re: [petsc-users] FFT Matrix Examples/Tests: Compiletime error
>
>
> Hey,
>
> thx for your quick response! Is petsc-3.3 compatible with the current
> slepc-3.2 ??
>
> On Tue, Jul 10, 2012 at 5:31 PM, Hong Zhang <hzhang at mcs.anl.gov> wrote:
>> Thomas:
>> Please update to petsc-3.3, and build it with FFTW.
>> ex148.c was rewritten using FFTW.
>>
>> Hong
>>
>>> Hello list!
>>>
>>> I tried to test one of the FFT examples in src/mat/examples/tests/ by
>>> typing "make ex148" in this directory. Unfortunately the compilation
>>> failed:
>>>
>>> mpicxx -o ex148.o -c -Wall -Wwrite-strings -Wno-strict-aliasing
>>> -Wno-unknown-pragmas -O3 -fPIC
>>> -I/home/thomas/local/src/petsc-3.2-p6/include
>>> -I/home/thomas/local/src/petsc-3.2-p6/arch-linux2-cxx-release/include
>>> -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi
>>> -D__INSDIR__=src/mat/examples/tests/ ex148.c
>>> ex148.c: In function ‘PetscInt main(PetscInt, char**)’:
>>> ex148.c:45:37: error: ‘InputTransformFFT’ was not declared in this scope
>>> ex148.c:54:39: error: ‘OutputTransformFFT’ was not declared in this scope
>>> make: [ex148.o] Error 1 (ignored)
>>>
>>> All the other FFT examples seem to use these two Transformation
>>> functions as well. Any ideas where these functions are defined ?
>>>
>>> Regards,
>>> Thomas
>>
>>
>


More information about the petsc-users mailing list