Hello Roy,
thank you for your answer.
Which version of libMesh are you using? 
I'm using the current CVS libmesh.

/home/loris/soft/petsc-2.3.2-p10/include/petscmath.h:65: 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
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.

#if defined(PETSC_USE_COMPLEX)

#include <complex>
#include <complex.h>

It turned out that I configured Petsc without declaring "--with-clanguage=cxx"  and <complex.h> was included instead of <complex>.

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...
src/numerics/laspack_vector.C: In member function ‘Real LaspackVector<T>::sum() const [with T = std::complex<double>]’:
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
8010 Graz