SLEPc for Debian
----------------

This source package includes the following binary packages:

     libslepc3.7.4      - shared libraries
     libslepc3.7-dev    - static libraries, shared links, and header files
                          (latest v3.7)
     libslepc3.7.4-dev  - static libraries, shared links, and header files
                          (specific patch version 3.7.4)
     slepc3.7.4-doc     - documentation and examples

The following binary packages include support for complex numbers:
     libslepc-complex-3.7.4
     libslepc-complex-3.7-dev
     libslepc-complex-3.7.4-dev


With slepc-dev installed (or libslepc3.7-dev, or libslepc-3.7.4-dev 
or libslepc-complex-3.7.4-dev), you can build programs against it two ways:

     1. Standard build convention: use -I/usr/include/slepc for headers and
	link to optimized libraries in /usr/lib, so your resulting binaries
	will only depend on libslepc3.2. To link against the static
	debugging libs in libslepc3.2-dbg, add -L/usr/lib/slepc/lib/libg
	when linking and set LD_LIBRARY_PATH to /usr/lib/slepc/lib/libg.
     2. PETSc/SLEPc build convention: modify the makefile from the one in 
        their examples directory and build with 

        PETSC_DIR=/usr/lib/petsc PETSC_ARCH=`petscarch` \
	  PETSC_LIB_DIR=$PETSC_DIR/$PETSC_ARCH/lib SLEPC_DIR=/usr/lib/slepc \
	  SLEPC_LIB_DIR=$SLEPC_DIR/$PETSC_ARCH/lib make

The slepc3.7.4-doc package comes with the SLEPc examples in 
/usr/share/doc/slepc3.7.4-doc/examples/ 
Copy as needed and use the PETSc/SLEPc build convention make command 
above.

See also README.Debian in the PETSc package for more related notes.

Alternative SLEPc Versions
--------------------------

The preferred version of SLEPc (real or complex, the preferred minor 
patch version) can be controlled using alternatives:
   update-alternatives --config slepc
(other slepc alternatives are listed below)
Or PETSC_DIR and SLEPC_DIR can be set to the preferred version located under 
/usr/lib/petscdir and /usr/lib/slepcdir.

The full set of SLEPc alternatives is:

slepc   - set the default version (real or complex) of SLEPc (/usr/lib/slepc)

libslepc_real.so
        - set the default SLEPc shared library with real number support

libslepc_complex.so
        - set the default SLEPc shared library with complex number support
     
slepc3.7
        - set the preferred minor patch version (real or complex) of SLEPc 3.7
          (/usr/lib/slepcdir/3.7)
        
slepc3.7-real
        - set the preferred minor patch version of SLEPc 3.7
          with real number support (/usr/lib/slepcdir/3.7-real)

slepc3.7-complex
        - set the preferred minor patch version of SLEPc 3.7
          with complex number support (/usr/lib/slepcdir/3.7-complex)

libslepc.so.3.7
        - set the preferred minor patch version (real or complex) for the
          shared library of SLEPc 3.7
 
libslepc_real.so.3.7
        - set the preferred minor patch version for the shared library
          of SLEPc 3.7 with real number support

libslepc_complex.so.3.7
        - set the preferred minor patch version for the shared library
          of SLEPc 3.7 with complex number support

(likewise for other major versions in place of 3.7)
