Hi,
don't know if I accidentally posted this multiple times because I got: an error (#354) occurred while communicating with the server. If so sorry
I'm running openSUSE 12.3 (x86_64) and I've been recently trying to install dealii with MUMPS, Trilinos, PETSc, p4est, and Open MPI. I'm installing:
- deal.ii-8.1.0
- Trilinos 11.4.3
- PETSc 3.4.3*
- MUMPS 4.10.0
- p4est 0.3.4.2
*I know you say to use <=3.4.2 but I was having issue installing that version and having dealii recognizing it but it recognized 3.4.3 from YaST easily.
When I finally got it to install I didn't receive any errors so I assumed it worked. To see my deallii install output see the attachment configure_deal.tar.gz. The reason for a tar is because I break it up into error and standard output to make it easier to see and same goes for different files for configure/make/install/test. As well, I attached my build script for installing dealii in attachments (configure_deal.tar.gz).
I then went on to use the steps to see if everything was working properly. The programs for Trilinos and PETSc, seemed to run fine. However I'm having issues with MUMPS.
So when I try to run step-3 and step-4 with MUMPS, I added:
#include "/home/cbalen/Installed_Programs/deal.II/Install/include/deal.II/lac/sparse_direct.h" //For MUMPS
and I changed the solve function like so:
void Step3::solve()
{
SparseDirectMUMPS solver;
solver.initialize (system_matrix, system_rhs);
solver.vmult(solution, system_rhs);
}
But I get the following when I try to run step-3:
$ cmake ../ #I like to build in a sub-folder
-- The C compiler identification is GNU 4.7.2
-- The CXX compiler identification is GNU 4.7.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Autopilot invoked
###
#
# Project step-3 set up with deal.II-8.1.0 found at
# /usr/local
#
# CMAKE_BUILD_TYPE: Debug
#
# You can now run
# $ make - to compile and link the program
# $ make run - to (compile, link and) run the program
#
# $ make debug - to switch the build type to 'Debug'
# $ make release - to switch the build type to 'Release'
#
# $ make edit_cache - to change (cached) configuration variables
# and rerun the configure and generate phases of CMake
#
# $ make strip_comments - to strip the source files in this
# directory off the documentation comments
# $ make clean - to remove the generated executable as well as
# all intermediate compilation files
# $ make runclean - to remove all output generated by the program
# $ make distclean - to clean the directory from _all_ generated
# files (includes clean, runclean and the removal
# of the generated build system)
#
# $ make help - to view this message again
#
# Have a nice day!
#
###
-- Configuring done
-- Generating done
-- Build files have been written to: /home/cbalen/Installed_Programs/deal.II/Install/examples/step-3/Mumps/Build
$ make run
Scanning dependencies of target step-3
[100%] Building CXX object CMakeFiles/step-3.dir/step-3.cc.o
Linking CXX executable step-3
CMakeFiles/step-3.dir/step-3.cc.o: In function `Step3::solve()':
/home/cbalen/Installed_Programs/deal.II/Install/examples/step-3/Mumps/step-3.cc:501: undefined reference to `dealii::SparseDirectMUMPS::SparseDirectMUMPS()'
/home/cbalen/Installed_Programs/deal.II/Install/examples/step-3/Mumps/step-3.cc:502: undefined reference to `void dealii::SparseDirectMUMPS::initialize<dealii::SparseMatrix<double> >(dealii::SparseMatrix<double> const&, dealii::Vector<double> const&)'
/home/cbalen/Installed_Programs/deal.II/Install/examples/step-3/Mumps/step-3.cc:503: undefined reference to `dealii::SparseDirectMUMPS::vmult(dealii::Vector<double>&, dealii::Vector<double> const&)'
/home/cbalen/Installed_Programs/deal.II/Install/examples/step-3/Mumps/step-3.cc:503: undefined reference to `dealii::SparseDirectMUMPS::~SparseDirectMUMPS()'
/home/cbalen/Installed_Programs/deal.II/Install/examples/step-3/Mumps/step-3.cc:503: undefined reference to `dealii::SparseDirectMUMPS::~SparseDirectMUMPS()'
collect2: error: ld returned 1 exit status
make[2]: *** [step-3] Error 1
make[1]: *** [CMakeFiles/step-3.dir/all] Error 2
make: *** [all] Error 2
It might be useful to know that to install Mumps I had some issues when following your instructions so I had to make some tweaks:
Issue 1: I would get from Mumps (about Scalapack) a bunch of lines saying:
undefined reference to `pb_topget_' AND
undefined reference to `pb_topset_'
**Exact error message in Mumps_Install.tar.gz under Mumps/topget_and_topset_Error
Thanks to
http://dphysique.isc.chubu.ac.jp/Scalapack%20on%20pgi%20&%20RH7.3, I followed there suggestion for compiling these Scalapack functions before installing Scalapack like so:
mpicc -c -fPIC -DAdd_ PB_topget_.c
mpicc -c -fPIC -DAdd_ PB_topset_.c
NOTE: I didn't follow the exact method that Scalapack would have tried to compile them with (i.e mpicc -c -O4 -fPIC -Df77IsF2C -DNO_IEEE -DUsingMpiBlacs -DAdd_ PB_topget_.c) because I still got the same error from MUMPS so I kept what I thought were the important parts.
Issue 2: I then got a bunch of undefined references on libscalapack from Mumps like this person:
http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=711, I followed their suggestion and added the lapack library to LIBBLAS like so:
LIBBLAS = /usr/lib64/libblas.so /usr/lib64/liblapack.so
If you would like to see my configure scripts, makefiles, Error and Standard Output files for Blacs, Scalapack, and Mumps they are attached (Mumps_Install.tar.gz)
I hope I included everything necessary if I forgot anything let me know. Any help help would be much appreciated.