On Tue, Jul 10, 2012 at 11:59 AM, Thomas Hisch <span dir="ltr"><<a href="mailto:t.hisch@gmail.com" target="_blank">t.hisch@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thx for the hint.<br>
<br>
Should PETSc-dev in principle work with gcc-4.7, because I get the<br>
following error while building petsc:<br></blockquote><div><br></div><div>Jed is fixing that now. C++ compilers are extraordinarily dumb, and cannot cast</div><div>a 'volatile std::complex' to 'std::complex'. Should be ready soon.</div>
<div><br></div><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
-----------------------------------------<br>
Using C/C++ compile: mpicxx -c -Wall -Wwrite-strings<br>
-Wno-strict-aliasing -Wno-unknown-pragmas -O3 -fPIC<br>
-I/home/thomas/local/src/petsc-dev/include<br>
-I/home/thomas/local/src/petsc-dev/arch-linux2-cxx-release/include<br>
-I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi<br>
-D__INSDIR__=./<br>
Using Fortran compile: mpif90 -c -fPIC -Wall -Wno-unused-variable<br>
-Wno-unused-dummy-argument<br>
-I/home/thomas/local/src/petsc-dev/include<br>
-I/home/thomas/local/src/petsc-dev/arch-linux2-cxx-release/include<br>
-I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi<br>
-----------------------------------------<br>
Using C/C++ linker: mpicxx<br>
Using C/C++ flags: -Wall -Wwrite-strings -Wno-strict-aliasing<br>
-Wno-unknown-pragmas -O3<br>
Using Fortran linker: mpif90<br>
Using Fortran flags: -fPIC -Wall -Wno-unused-variable<br>
-Wno-unused-dummy-argument<br>
-----------------------------------------<br>
Using libraries:<br>
-Wl,-rpath,/home/thomas/local/src/petsc-dev/arch-linux2-cxx-release/lib<br>
-L/home/thomas/local/src/petsc-dev/arch-linux2-cxx-release/lib<br>
-lpetsc -lX11 -Wl,-rpath,/home/thomas/local/src/petsc-dev/arch-linux2-cxx-release/lib<br>
-lfftw3_mpi -lfftw3 -lpthread<br>
-Wl,-rpath,/opt/intel/composer_xe_2011_sp1.11.339/mkl/lib/intel64<br>
-L/opt/intel/composer_xe_2011_sp1.11.339/mkl/lib/intel64 -llapack<br>
-lblas -Wl,-rpath,/usr/lib/openmpi/lib -L/usr/lib/openmpi/lib<br>
-Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/4.7<br>
-L/usr/lib/gcc/x86_64-linux-gnu/4.7<br>
-Wl,-rpath,/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu<br>
-Wl,-rpath,/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu<br>
-Wl,-rpath,/opt/intel/composer_xe_2011_sp1.11.339/compiler/lib/intel64<br>
-L/opt/intel/composer_xe_2011_sp1.11.339/compiler/lib/intel64<br>
-Wl,-rpath,/opt/intel/composer_xe_2011_sp1.10.319/compiler/lib/intel64<br>
-L/opt/intel/composer_xe_2011_sp1.10.319/compiler/lib/intel64<br>
-Wl,-rpath,/opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/intel64<br>
-L/opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/intel64<br>
-Wl,-rpath,/opt/intel/composer_xe_2011_sp1.10.319/mkl/lib/intel64<br>
-L/opt/intel/composer_xe_2011_sp1.10.319/mkl/lib/intel64<br>
-Wl,-rpath,/opt/intel/composer_xe_2011_sp1.10.319/tbb/lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21<br>
-L/opt/intel/composer_xe_2011_sp1.10.319/tbb/lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21<br>
-lmpi_f90 -lmpi_f77 -lgfortran -lm -lgfortran -lm -lgfortran -lm -lm<br>
-lquadmath -lm -lmpi_cxx -lstdc++ -ldl -lmpi -lopen-rte -lopen-pal<br>
-lnsl -lutil -lgcc_s -lpthread -ldl<br>
------------------------------------------<br>
Using mpiexec: mpiexec<br>
==========================================<br>
Building PETSc using CMake with 5 build threads<br>
==========================================<br>
Re-run cmake file: Makefile older than: ../CMakeLists.txt<br>
-- Configuring done<br>
-- Generating done<br>
-- Build files have been written to:<br>
/home/thomas/local/src/petsc-dev/arch-linux2-cxx-release<br>
Scanning dependencies of target petsc<br>
[ 0%] Building Fortran object<br>
CMakeFiles/petsc.dir/src/sys/f90-mod/petscsysmod.F.o<br>
[ 0%] Building Fortran object<br>
CMakeFiles/petsc.dir/src/vec/f90-mod/petscvecmod.F.o<br>
[ 1%] Building Fortran object<br>
CMakeFiles/petsc.dir/src/mat/f90-mod/petscmatmod.F.o<br>
[ 1%] Building Fortran object<br>
CMakeFiles/petsc.dir/src/dm/f90-mod/petscdmmod.F.o<br>
[ 1%] Building Fortran object<br>
CMakeFiles/petsc.dir/src/ksp/f90-mod/petsckspmod.F.o<br>
[ 1%] Building Fortran object<br>
CMakeFiles/petsc.dir/src/snes/f90-mod/petscsnesmod.F.o<br>
[ 2%] [ 2%] [ 2%] [ 2%] [ 2%] Building Fortran object<br>
CMakeFiles/petsc.dir/src/ts/f90-mod/petsctsmod.F.o<br>
Building CXX object CMakeFiles/petsc.dir/src/sys/verbose/verboseinfo.c.o<br>
Building CXX object CMakeFiles/petsc.dir/src/sys/viewer/interface/view.c.o<br>
Building CXX object CMakeFiles/petsc.dir/src/sys/viewer/interface/viewregall.c.o<br>
Building CXX object CMakeFiles/petsc.dir/src/sys/viewer/interface/flush.c.o<br>
[ 2%] In file included from<br>
/home/thomas/local/src/petsc-dev/include/petscsys.h:1536:0,<br>
from<br>
/home/thomas/local/src/petsc-dev/src/sys/verbose/verboseinfo.c:6:<br>
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h: In<br>
function ‘PetscBool PetscCheckPointer(const void*, PetscDataType)’:<br>
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h:197:60:<br>
error: no matching function for call to<br>
‘std::complex<double>::complex(volatile PetscScalar&)’<br>
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h:197:60:<br>
note: candidates are:<br>
In file included from /home/thomas/local/src/petsc-dev/include/petscmath.h:60:0,<br>
from /home/thomas/local/src/petsc-dev/include/petscsys.h:337,<br>
from<br>
/home/thomas/local/src/petsc-dev/src/sys/verbose/verboseinfo.c:6:<br>
/usr/include/c++/4.7/complex:1205:26: note:<br>
std::complex<double>::complex(const std::complex<float>&)<br>
/usr/include/c++/4.7/complex:1205:26: note: no known conversion for<br>
argument 1 from ‘volatile PetscScalar {aka volatile<br>
std::complex<double>}’ to ‘const std::complex<float>&’<br>
/usr/include/c++/4.7/complex:1195:26: note:<br>
std::complex<double>::complex(double, double)<br>
/usr/include/c++/4.7/complex:1195:26: note: no known conversion for<br>
argument 1 from ‘volatile PetscScalar {aka volatile<br>
std::complex<double>}’ to ‘double’<br>
/usr/include/c++/4.7/complex:1193:26: note:<br>
std::complex<double>::complex(std::complex<double>::_ComplexT)<br>
/usr/include/c++/4.7/complex:1193:26: note: no known conversion for<br>
argument 1 from ‘volatile PetscScalar {aka volatile<br>
std::complex<double>}’ to ‘std::complex<double>::_ComplexT {aka<br>
__complex__ double}’<br>
/usr/include/c++/4.7/complex:1188:12: note:<br>
std::complex<double>::complex(const std::complex<double>&)<br>
/usr/include/c++/4.7/complex:1188:12: note: no known conversion for<br>
argument 1 from ‘volatile PetscScalar {aka volatile<br>
std::complex<double>}’ to ‘const std::complex<double>&’<br>
In file included from<br>
/home/thomas/local/src/petsc-dev/include/petscsys.h:1536:0,<br>
from<br>
/home/thomas/local/src/petsc-dev/include/petsc-private/viewerimpl.h:5,<br>
from<br>
/home/thomas/local/src/petsc-dev/src/sys/viewer/interface/flush.c:2:<br>
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h: In<br>
function ‘PetscBool PetscCheckPointer(const void*, PetscDataType)’:<br>
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h:197:60:<br>
error: no matching function for call to<br>
‘std::complex<double>::complex(volatile PetscScalar&)’<br>
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h:197:60:<br>
note: candidates are:<br>
In file included from /home/thomas/local/src/petsc-dev/include/petscmath.h:60:0,<br>
from /home/thomas/local/src/petsc-dev/include/petscsys.h:337,<br>
from<br>
/home/thomas/local/src/petsc-dev/include/petsc-private/viewerimpl.h:5,<br>
from<br>
/home/thomas/local/src/petsc-dev/src/sys/viewer/interface/flush.c:2:<br>
/usr/include/c++/4.7/complex:1205:26: note:<br>
std::complex<double>::complex(const std::complex<float>&)<br>
/usr/include/c++/4.7/complex:1205:26: note: no known conversion for<br>
argument 1 from ‘volatile PetscScalar {aka volatile<br>
std::complex<double>}’ to ‘const std::complex<float>&’<br>
/usr/include/c++/4.7/complex:1195:26: note:<br>
std::complex<double>::complex(double, double)<br>
/usr/include/c++/4.7/complex:1195:26: note: no known conversion for<br>
argument 1 from ‘volatile PetscScalar {aka volatile<br>
std::complex<double>}’ to ‘double’<br>
/usr/include/c++/4.7/complex:1193:26: note:<br>
std::complex<double>::complex(std::complex<double>::_ComplexT)<br>
/usr/include/c++/4.7/complex:1193:26: note: no known conversion for<br>
argument 1 from ‘volatile PetscScalar {aka volatile<br>
std::complex<double>}’ to ‘std::complex<double>::_ComplexT {aka<br>
__complex__ double}’<br>
/usr/include/c++/4.7/complex:1188:12: note:<br>
std::complex<double>::complex(const std::complex<double>&)<br>
/usr/include/c++/4.7/complex:1188:12: note: no known conversion for<br>
argument 1 from ‘volatile PetscScalar {aka volatile<br>
std::complex<double>}’ to ‘const std::complex<double>&’<br>
Building CXX object CMakeFiles/petsc.dir/src/sys/viewer/interface/viewreg.c.o<br>
In file included from<br>
/home/thomas/local/src/petsc-dev/include/petscsys.h:1536:0,<br>
from<br>
/home/thomas/local/src/petsc-dev/include/petsc-private/viewerimpl.h:5,<br>
from<br>
/home/thomas/local/src/petsc-dev/src/sys/viewer/interface/viewregall.c:2:<br>
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h: In<br>
function ‘PetscBool PetscCheckPointer(const void*, PetscDataType)’:<br>
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h:197:60:<br>
error: no matching function for call to<br>
‘std::complex<double>::complex(volatile PetscScalar&)’<br>
/home/thomas/local/src/petsc-dev/include/petsc-private/petscimpl.h:197:60:<br>
note: candidates are:<br>
In file included from /home/thomas/local/src/petsc-dev/include/petscmath.h:60:0,<br>
from /home/thomas/local/src/petsc-dev/include/petscsys.h:337,<br>
from<br>
/home/thomas/local/src/petsc-dev/include/petsc-private/viewerimpl.h:5,<br>
from<br>
/home/thomas/local/src/petsc-dev/src/sys/viewer/interface/viewregall.c:2:<br>
/usr/include/c++/4.7/complex:1205:26: note:<br>
std::complex<double>::complex(const std::complex<float>&)<br>
/usr/include/c++/4.7/complex:1205:26: note: no known conversion for<br>
argument 1 from ‘volatile PetscScalar {aka volatile<br>
std::complex<double>}’ to ‘const std::complex<float>&’<br>
/usr/include/c++/4.7/complex:1195:26: note:<br>
std::complex<double>::complex(double, double)<br>
/usr/include/c++/4.7/complex:1195:26: note: no known conversion for<br>
argument 1 from ‘volatile PetscScalar {aka volatile<br>
std::complex<double>}’ to ‘double’<br>
/usr/include/c++/4.7/complex:1193:26: note:<br>
std::complex<double>::complex(std::complex<double>::_ComplexT)<br>
/usr/include/c++/4.7/complex:1193:26: note: no known conversion for<br>
argument 1 from ‘volatile PetscScalar {aka volatile<br>
std::complex<double>}’ to ‘std::complex<double>::_ComplexT {aka<br>
__complex__ double}’<br>
/usr/include/c++/4.7/complex:1188:12: note:<br>
std::complex<double>::complex(const std::complex<double>&)<br>
/usr/include/c++/4.7/complex:1188:12: note: no known conversion for<br>
argument 1 from ‘volatile PetscScalar {aka volatile<br>
std::complex<double>}’ to ‘const std::complex<double>&’<br>
......<br>
<br>
I called configure with:<br>
<br>
./configure --with-c++-support=1 --with-scalar-type=complex<br>
--with-x11=0 --with-clanguage=cxx<br>
--with-blas-lapack-dir=/opt/intel/composer_xe_2011_sp1.11.339/mkl/lib/intel64<br>
CXXOPTFLAGS="-O3" COPTFLAGS="-O3" FOPTFLAGS="-03"<br>
--with-shared-libraries=1 --with-debugging=0 --download-fftw=1<br>
<br>
Regards<br>
Thomas<br>
<br>
<br>
On Tue, Jul 10, 2012 at 6:44 PM, <a href="mailto:ajay.rawat83@gmail.com">ajay.rawat83@gmail.com</a><br>
<<a href="mailto:ajay.rawat83@gmail.com">ajay.rawat83@gmail.com</a>> wrote:<br>
> No, try to use petsc-dev with slepc-dev<br>
> -----Original message-----<br>
> From: Thomas Hisch<br>
> Sent: 10/07/2012, 9:07 pm<br>
> To: PETSc users list<br>
> Subject: Re: [petsc-users] FFT Matrix Examples/Tests: Compiletime error<br>
><br>
><br>
> Hey,<br>
><br>
> thx for your quick response! Is petsc-3.3 compatible with the current<br>
> slepc-3.2 ??<br>
><br>
> On Tue, Jul 10, 2012 at 5:31 PM, Hong Zhang <<a href="mailto:hzhang@mcs.anl.gov">hzhang@mcs.anl.gov</a>> wrote:<br>
>> Thomas:<br>
>> Please update to petsc-3.3, and build it with FFTW.<br>
>> ex148.c was rewritten using FFTW.<br>
>><br>
>> Hong<br>
>><br>
>>> Hello list!<br>
>>><br>
>>> I tried to test one of the FFT examples in src/mat/examples/tests/ by<br>
>>> typing "make ex148" in this directory. Unfortunately the compilation<br>
>>> failed:<br>
>>><br>
>>> mpicxx -o ex148.o -c -Wall -Wwrite-strings -Wno-strict-aliasing<br>
>>> -Wno-unknown-pragmas -O3 -fPIC<br>
>>> -I/home/thomas/local/src/petsc-3.2-p6/include<br>
>>> -I/home/thomas/local/src/petsc-3.2-p6/arch-linux2-cxx-release/include<br>
>>> -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi<br>
>>> -D__INSDIR__=src/mat/examples/tests/ ex148.c<br>
>>> ex148.c: In function ‘PetscInt main(PetscInt, char**)’:<br>
>>> ex148.c:45:37: error: ‘InputTransformFFT’ was not declared in this scope<br>
>>> ex148.c:54:39: error: ‘OutputTransformFFT’ was not declared in this scope<br>
>>> make: [ex148.o] Error 1 (ignored)<br>
>>><br>
>>> All the other FFT examples seem to use these two Transformation<br>
>>> functions as well. Any ideas where these functions are defined ?<br>
>>><br>
>>> Regards,<br>
>>> Thomas<br>
>><br>
>><br>
><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>