Dear Toby
Thank you, that was actually very helpful. I've been fighting with this
quite a bit more, and was hoping maybe you (or anyone) might have some
additional advice.
I've gone back and installed petsc for shared libs, cause I was having some
issues getting p4est to work with this turned off in deal.ii. So here's
what I have:
-bash-3.00$ module show mvapich
-------------------------------------------------------------------
/share/apps/modules/Modules/modulefiles/mvapich/1.0:
module-whatis loads the MVAPICH environment
setenv MPD_BIN /share/apps/mvapich/intel/bin
setenv MVAPICH_HOME /share/apps/mvapich/intel
prepend-path PATH /share/apps/mvapich/intel/bin
prepend-path LD_LIBRARY_PATH /share/apps/mvapich/intel/lib/shared
prepend-path LD_LIBRARY_PATH /share/apps/mvapich/intel/lib
prepend-path INCLUDE /share/apps/mvapich/intel/include
prepend-path MANPATH /share/apps/mvapich/intel/man
-------------------------------------------------------------------
-bash-3.00$ export PETSC_DIR=/bevo2/*/running/petsc-3.1-p8
-bash-3.00$ export PETSC_ARCH=linux-gnu-cxx-debug
-bash-3.00$ ./configure --prefix=/bevo2/*/running/ --with-mpi-compilers=1
--with-mpi-dir=/share/apps/mvapich/intel/ --with-shared=1 --with-dynamic=0
--with-mpi=1
===============================================================================
Configuring PETSc to compile on your system
===============================================================================
TESTING: alternateConfigureLibrary from
PETSc.packages.mpi4py(config/PETSc/packages/mpi4py.py:54)
Compilers:
C Compiler: /share/apps/mvapich/intel/bin/mpicc -fPIC -g
Fortran Compiler: /share/apps/mvapich/intel/bin/mpif90 -fPIC -g
Linkers:
Shared linker: /share/apps/mvapich/intel/bin/mpicc -shared -fPIC -g
Dynamic linker: /share/apps/mvapich/intel/bin/mpicc -shared -fPIC -g
MPI:
Includes: -I/share/apps/mvapich/intel/include
X11:
Includes: -I/usr/X11R6/include
Library: -L/usr/X11R6/lib64 -lX11
BLAS/LAPACK: -llapack -lblas
PETSc:
PETSC_ARCH: linux-gnu-cxx-debug
PETSC_DIR: /bevo2/*/running/petsc-3.1-p8/
Clanguage: C
Scalar type: real
Precision: double
shared libraries: enabled
dynamic libraries: disabled
Memory alignment: 16
xxx=========================================================================xxx
Configure stage complete. Now build PETSc libraries with:
make PETSC_DIR=/bevo2/michoski/running/petsc-3.1-p8/
PETSC_ARCH=linux-gnu-cxx-debug all
xxx=========================================================================xxx
After making and installing, with no hitches, the tests run fine:
-bash-3.00$ make PETSC_DIR=/bevo2/*/running/ test
Running test examples to verify correct installation
C/C++ example src/snes/examples/tutorials/ex19 run successfully with 1 MPI
process
C/C++ example src/snes/examples/tutorials/ex19 run successfully with 2 MPI
processes
Fortran example src/snes/examples/tutorials/ex5f run successfully with 1 MPI
process
Completed test examples
Now, p4est compilation was easy, I just used the script on the deal.ii
homepage.
So check this out. I run reconfigure (or configure) with deal.ii, and:
-bash-3.00$ ./reconfigure --with-petsc-arch=linux-gnu-cxx-debug
--with-petsc=/home/michoski/running/ --enable-shared--disable-threads
--with-p4est=/bevo2/michoski/running/p4est --enable-mpi
//suppressed output
---------------- configuring additional libs ----------------
checking boost/shared_ptr.hpp usability... yes
checking boost/shared_ptr.hpp presence... yes
checking for boost/shared_ptr.hpp... yes
checking boost/type_traits.hpp usability... yes
checking boost/type_traits.hpp presence... yes
checking for boost/type_traits.hpp... yes
checking boost/tuple/tuple.hpp usability... yes
checking boost/tuple/tuple.hpp presence... yes
checking for boost/tuple/tuple.hpp... yes
checking for PETSc library directory... /home/michoski/running/
checking for PETSc version... ./configure: line 10008: PETSC_VERSION+=:
command not found
3.1.0
checking for PETSc library architecture... linux-gnu-c-debug
configure: error: PETSc has not been compiled for the architecture specified
with --with-petsc-arch
------------------------
Which seems crazy to me. The end of the config.log is as follows:
configure:9877: result: yes
configure:9877: checking boost/tuple/tuple.hpp presence
configure:9877: /share/apps/mvapich/intel/bin/mpiCC -E
-I/bevo2/michoski/running/deal.II/contrib/boost/include conftest.cpp
configure:9877: $? = 0
configure:9877: result: yes
configure:9877: checking for boost/tuple/tuple.hpp
configure:9877: result: yes
configure:9931: checking for PETSc library directory
configure:9945: result: /home/michoski/running/
configure:9989: checking for PETSc version
configure:10011: result: 3.1.0
configure:10015: checking for PETSc library architecture
configure:10022: result: linux-gnu-c-debug
configure:10047: error: PETSc has not been compiled for the architecture
specified with --with-petsc-arch
Any thoughts?
On Mon, Aug 29, 2011 at 4:08 AM, Toby D. Young <[email protected]> wrote:
>
> Evan,
>
> > Hey guys. We've been working to get 7.0.0 running in parallel with
> > p4est and petsc on some serial cases we've spent some time
> > developing. I've got p4est compiled fine, as well as petsc, but
> > running deal.ii configure yields this error it seems no matter what
> > we do:
> >
> > checking for PETSc library architecture... linux-gnu-cxx-debug
> > checking for PETSc libmpiuni library... not found
> > checking for consistency of PETSc and deal.II MPI settings...
> > configure: error: PETSc was not built for MPI, but deal.II is!
> >
> > We've tried a couple different versions of petsc, and I don't think
> > any of the versions are even outputing a libmpiuni.a to link to.
> > We've tried petsc3.0.0-p11, petsc3.0.0-p8, and petsc3.1-p8. petsc
> > builds fine and passes the "make test" fine running mpd.
> >
> > Here's an example of the types of scripts we've been trying:
> >
> > petsc
> >
> > PETSC_ARCH=linux-gnu-cxx-debug or PETSC_ARCH=linux-gnu-c-debug
> > ./configure --prefix=/bevo2/*/ --with-mpi-compilers=1
> > --with-mpi-dir=/opt/mvapich2/intel/ --with-c++-support --with-shared=0
> > --with-dynamic=0
> >
> > deal.ii
> >
> > ./configure --with-petsc=/bevo2/*/petsc-3.1-p8
> > --disable-shared--disable-threads --with-p4est=/bevo2/*/p4est
> > --with-mpi
> >
> > We also tried turning off mpi (--with-mpi=0) in the petsc compile,
> > where I found a list that suggested this might be a way of generating
> > the mpiuni libraries. But that hasn;t seemed to work either.
>
> Do you not need to explicitly switch mpi on when you want it in the
> PETSc configure environment. --with-mpi=1? I do not think it is enough
> to simply compile with mpi-compilers.
>
> As a note: For PETSc 3.* the mpiuni libs do not exist as a separate
> library, but are integrated into the "normal" PETSc libraries. The fact
> that libmpiuni.* is not found is not an issue (the check is there for
> historical reasons - ie. lower PETSc versions).
>
> Does a reconfigure of PETSc with --with-mpi=1 fix that problem?
> By the way: Do you not set the --petsc-arch variable when configuring
> deal.II or is that truncated output you are showing us above?
>
> Hoppe that helps.
>
> Best,
> Toby
>
> --
> Toby D. Young
>
> Assistant Professor Philosophy & Physics
> Polish Academy of Sciences
> www: http://www.ippt.gov.pl/~tyoung
> skype: stenografia
>
>
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii