Dear Developers and Users,

Firstly, thank you for this piece of software! I have been using the Debian package for a month now,
and have been impressed with its capabilities. However, since I need to enable VTK and SLEPc, I have
been trying to compile libmesh from sources. I need SLEPc since I am trying to solve aome quantum physics
problems. This is resulting in errors which I list below.

Some details regarding my configuration ( the computer is a Pentium D system)
(a) gcc-4.2 and g++-4.2 for compilation.
(b) mpich 1.2.7 installed from debian repo.
(c) Compiled Petsc-2.3.3-p13 from source with the following config :
      config/configure.py --with-cc=gcc --with-cxx=g++ --with-fc=g77 --with-mpi-dir=/usr/lib/mpich/
    --with-debugging=1 --with-shared
(d)Compiled  Slepc-2.3.3(including latest patches) from source.
(e)Libmesh config :  ./configure --prefix=/usr/local/libmesh --enable-slepc --enable-vtk --with-vtk-include=/usr/
include/vtk-5.0
 
=================================================================================
With libmesh-0.6.2, this results in the following error :

Compiling C++ (in debug mode) src/numerics/slepc_eigen_solver.C...
src/numerics/slepc_eigen_solver.C: In member function 'void SlepcEigenSolver<T>::init()':
src/numerics/slepc_eigen_solver.C:73: error: 'EPSOrthogonalizationRefinementType' was not declared in this scope
src/numerics/slepc_eigen_solver.C:73: error: expected `;' before 'refinement'
src/numerics/slepc_eigen_solver.C:75: error: 'refinement' was not declared in this scope
src/numerics/slepc_eigen_solver.C:75: error: there are no arguments to 'EPSGetOrthogonalization' that depend on a template parameter, so a declaration of 'EPSGetOrthogonalization' must be available
src/numerics/slepc_eigen_solver.C:75: error: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
src/numerics/slepc_eigen_solver.C:76: error: 'EPS_MGS_ORTH' was not declared in this scope
src/numerics/slepc_eigen_solver.C:76: error: there are no arguments to 'EPSSetOrthogonalization' that depend on a template parameter, so a declaration of 'EPSSetOrthogonalization' must be available
src/numerics/slepc_eigen_solver.C: In member function 'void SlepcEigenSolver<T>::init() [with T = double]':
src/numerics/slepc_eigen_solver.C:492:   instantiated from here
src/numerics/slepc_eigen_solver.C:75: error: 'EPSGetOrthogonalization' was not declared in this scope
src/numerics/slepc_eigen_solver.C:75: error: 'EPSSetOrthogonalization' was not declared in this scope
make: *** [src/numerics/slepc_eigen_solver.i686-pc-linux-gnu.dbg.o] Error 1

If I disable slepc, I am able to compile the libmesh library. However, I get the following error when I run the example (say ex3)
$./ex3-dbg
0 - <NO ERROR MESSAGE> : Could not convert index -1246757120 into a pointer
The index may be an incorrect argument.
Possible sources of this problem are a missing "include 'mpif.h'",
a misspelled MPI object (e.g., MPI_COM_WORLD instead of MPI_COMM_WORLD)
or a misspelled user variable for an MPI object (e.g.,
com instead of comm).
[0] Aborting program !
[0] Aborting program!
p0_9932:  p4_error: : 9039

=============================================================================

With libmesh from svn (release 2924), I get the follwoing errors

Compiling C++ (in debug mode) src/solvers/equation_systems.C...
src/solvers/equation_systems.C: In member function 'void EquationSystems::reinit()':
src/solvers/equation_systems.C:134: error: 'n_sys' was not declared in this scope
src/solvers/equation_systems.C:141: error: 'n_sys' was not declared in this scope
make: *** [src/solvers/equation_systems.i686-pc-linux-gnu.dbg.o] Error 1

In fact, the above error with r 2924 is reported even when I disable slepc.

Looking at the archives of libmesh-devel and libmesh-users, I understand that there are issues regarding imcompatibilities arising between
petsc minor releases. This could possibly explain why libmesh-0.6.2 generates errors against petsc-2.3.3-13; however, I thought that the latest svn code of libmesh would compile against the latest petsc and slepc versions.

Any ideas as to how I can resolve these issues? Also, please let me know which version of Petsc / Slepc works successfully against libmesh-0.6.2 and the latest svn version.

Look forward to your replies.

Thanking you

With regards
Arvind Ajoy

PhD Student
Department of Electrical Engineering
Indian Institute of Technology Madras
India