thank you for your answer.
Which version of libMesh are you using?
I'm using the current CVS libmesh.
I was able to get rid of the 'PetscScalar' error messages by taking a
look at the petscmath.h where the following lines can be found.
error: expected initializer before 'PetscScalar'
This is the root of all the other errors, but I can't help much
without seeing that petscmath.h file. I've only got petsc-2.3.1-p16
and petsc-2.3.3-p3 installed, and they've changed enough that I don't
know what line 65 of your petscmath.h or its surrounding context will
It turned out that I configured Petsc without declaring
"--with-clanguage=cxx" and <complex.h> was included instead of
But as always, when a problem is solved a new one arises. Now the
libmesh library compiles without complaining until the sourcefile
"laspack_vector.C" is reached. Here I get the following message:
Compiling C++ (in optimized mode)
src/numerics/laspack_vector.C: In member function ‘Real
LaspackVector<T>::sum() const [with T =
src/numerics/laspack_vector.C:446: instantiated from here
src/numerics/laspack_vector.C:44: error: cannot convert
‘std::complex<double>’ to ‘Real’ in return
make: *** [src/numerics/laspack_vector.i686-pc-linux-gnu.opt.o] Error 1
I'm using the current CVS libmesh version and Petsc-2.3.3-p6 (I just
switched to the current version. The error message doesn't change with
other Petsc versions). I also let Petsc download the external packages
needed ( blas-lapack and mpich ) during Petsc configuration.
Any help or suggestions would be appreciated
DI Loris Nagler
Institute of Applied Mechanics Tel: +43/(0)316/873-7606
Graz University of Technology Fax: +43/(0)316/873-7641
Technikerstr. 4/II e-mail: loris.nagler@TUGraz.at