dealii / dealii

The development repository for the deal.II finite element library
https://www.dealii.org
Other
1.39k stars 751 forks source link

Linker error: undefined referent to 'pdsyevr_' and 'pssyevr_' #7774

Closed Lagrang3 closed 5 years ago

Lagrang3 commented 5 years ago

Hi,

I am trying to compile the latest Deal.II library from the git repository. But once the library is built cmake fails to compile some of the example codes, like step-9 and step-7. The reason is a linker error of undefined reference to some symbols that I believe are to be found on Scalapack. Weird thing, since cmake should handle all the proper flags and so far it didn't complain about broken dependencies.

Any help will provided will be most welcomed. Eduardo

PS.

$ make -j2 install
...
[ 79%] Linking CXX executable ../bin/step-9.release
[ 79%] Linking CXX executable ../bin/step-7.release
../lib/libdeal_II.so.9.1.0-pre: error: undefined reference to 'pdsyevr_'
../lib/libdeal_II.so.9.1.0-pre: error: undefined reference to 'pssyevr_'
collect2: error: ld returned 1 exit status
../lib/libdeal_II.so.9.1.0-pre: error: undefined reference to 'pssyevr_'
../lib/libdeal_II.so.9.1.0-pre: error: undefined reference to 'pdsyevr_'
collect2: error: ld returned 1 exit status
...
$ uname -a
Linux COSMOS 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux
$ git show
commit ace847d1f07cb191a31565547ee60f8c399392a5
...
$ cat summary.log 
###
#
#  deal.II configuration:
#        CMAKE_BUILD_TYPE:       DebugRelease
#        BUILD_SHARED_LIBS:      ON
#        CMAKE_INSTALL_PREFIX:   /opt/dealii
#        CMAKE_SOURCE_DIR:       /home/lagrange/git/dealii
#                                (version 9.1.0-pre, shortrev ace847d1f0)
#        CMAKE_BINARY_DIR:       /opt/dealii/build
#        CMAKE_CXX_COMPILER:     GNU 6.3.0 on platform Linux x86_64
#                                /usr/bin/c++
#
#  Configured Features (DEAL_II_ALLOW_BUNDLED = ON, DEAL_II_ALLOW_AUTODETECTION = ON):
#      ( DEAL_II_WITH_64BIT_INDICES = OFF )
#      ( DEAL_II_WITH_ADOLC = OFF )
#      ( DEAL_II_WITH_ARPACK = OFF )
#      ( DEAL_II_WITH_ASSIMP = OFF )
#        DEAL_II_WITH_BOOST set up with bundled packages
#      ( DEAL_II_WITH_COMPLEX_VALUES = OFF )
#      ( DEAL_II_WITH_CUDA = OFF )
#      ( DEAL_II_WITH_CUDA_AWARE_MPI = OFF )
#        DEAL_II_WITH_CXX14 = ON
#      ( DEAL_II_WITH_CXX17 = OFF )
#      ( DEAL_II_WITH_GINKGO = OFF )
#      ( DEAL_II_WITH_GMSH = OFF )
#        DEAL_II_WITH_GSL set up with external dependencies
#        DEAL_II_WITH_HDF5 set up with external dependencies
#        DEAL_II_WITH_LAPACK set up with external dependencies
#      ( DEAL_II_WITH_METIS = OFF )
#        DEAL_II_WITH_MPI set up with external dependencies
#        DEAL_II_WITH_MUPARSER set up with bundled packages
#      ( DEAL_II_WITH_NANOFLANN = OFF )
#        DEAL_II_WITH_NETCDF set up with external dependencies
#      ( DEAL_II_WITH_OPENCASCADE = OFF )
#        DEAL_II_WITH_P4EST set up with external dependencies
#        DEAL_II_WITH_PETSC set up with external dependencies
#        DEAL_II_WITH_SCALAPACK set up with external dependencies
#        DEAL_II_WITH_SLEPC set up with external dependencies
#      ( DEAL_II_WITH_SUNDIALS = OFF )
#        DEAL_II_WITH_THREADS set up with external dependencies
#        DEAL_II_WITH_TRILINOS set up with external dependencies
#        DEAL_II_WITH_UMFPACK set up with external dependencies
#        DEAL_II_WITH_ZLIB set up with external dependencies
#
#  Component configuration:
#      ( DEAL_II_COMPONENT_DOCUMENTATION = OFF )
#        DEAL_II_COMPONENT_EXAMPLES
#      ( DEAL_II_COMPONENT_PACKAGE = OFF )
#      ( DEAL_II_COMPONENT_PYTHON_BINDINGS = OFF )
#
#  Detailed information (compiler flags, feature configuration) can be found in detailed.log
#
#  Run  $ make info  to print a help message with a list of top level targets
#
###
$ cat detailed.log 
###
#
#  deal.II configuration:
#        CMAKE_BUILD_TYPE:       DebugRelease
#        BUILD_SHARED_LIBS:      ON
#        CMAKE_INSTALL_PREFIX:   /opt/dealii
#        CMAKE_SOURCE_DIR:       /home/lagrange/git/dealii
#                                (version 9.1.0-pre, shortrev ace847d1f0)
#        CMAKE_BINARY_DIR:       /opt/dealii/build
#        CMAKE_CXX_COMPILER:     GNU 6.3.0 on platform Linux x86_64
#                                /usr/bin/c++
#        CMAKE_C_COMPILER:       /usr/bin/cc
#        CMAKE_Fortran_COMPILER: /usr/bin/gfortran
#        CMAKE_GENERATOR:        Unix Makefiles
#
#  Base configuration (prior to feature configuration):
#        DEAL_II_CXX_FLAGS:            -pedantic -fPIC -Wall -Wextra -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wsuggest-override -Wswitch -Wsynth -Wwrite-strings -Wno-placement-new -Wno-deprecated-declarations -Wno-literal-suffix -Wno-psabi -fopenmp-simd -std=c++14
#        DEAL_II_CXX_FLAGS_RELEASE:    -O2 -funroll-loops -funroll-all-loops -fstrict-aliasing -Wno-unused-local-typedefs
#        DEAL_II_CXX_FLAGS_DEBUG:      -O0 -ggdb -Wa,--compress-debug-sections
#        DEAL_II_LINKER_FLAGS:         -Wl,--as-needed -rdynamic -fuse-ld=gold
#        DEAL_II_LINKER_FLAGS_RELEASE: 
#        DEAL_II_LINKER_FLAGS_DEBUG:   -ggdb
#        DEAL_II_DEFINITIONS:          
#        DEAL_II_DEFINITIONS_RELEASE:  
#        DEAL_II_DEFINITIONS_DEBUG:    DEBUG
#        DEAL_II_USER_DEFINITIONS:     
#        DEAL_II_USER_DEFINITIONS_REL: 
#        DEAL_II_USER_DEFINITIONS_DEB: DEBUG
#        DEAL_II_INCLUDE_DIRS          
#        DEAL_II_USER_INCLUDE_DIRS:    
#        DEAL_II_BUNDLED_INCLUDE_DIRS: 
#        DEAL_II_LIBRARIES:            
#        DEAL_II_LIBRARIES_RELEASE:    
#        DEAL_II_LIBRARIES_DEBUG:      
#        DEAL_II_COMPILER_VECTORIZATION_LEVEL: 1
#
#  Configured Features (DEAL_II_ALLOW_BUNDLED = ON, DEAL_II_ALLOW_AUTODETECTION = ON):
#      ( DEAL_II_WITH_64BIT_INDICES = OFF )
#      ( DEAL_II_WITH_ADOLC = OFF )
#      ( DEAL_II_WITH_ARPACK = OFF )
#      ( DEAL_II_WITH_ASSIMP = OFF )
#        DEAL_II_WITH_BOOST set up with bundled packages
#            BOOST_CXX_FLAGS = -Wno-unused-local-typedefs
#            BOOST_DEFINITIONS = BOOST_NO_AUTO_PTR
#            BOOST_USER_DEFINITIONS = BOOST_NO_AUTO_PTR
#            BOOST_BUNDLED_INCLUDE_DIRS = /home/lagrange/git/dealii/bundled/boost-1.62.0/include
#            BOOST_LIBRARIES = rt
#      ( DEAL_II_WITH_COMPLEX_VALUES = OFF )
#      ( DEAL_II_WITH_CUDA = OFF )
#      ( DEAL_II_WITH_CUDA_AWARE_MPI = OFF )
#        DEAL_II_WITH_CXX14 = ON
#      ( DEAL_II_WITH_CXX17 = OFF )
#      ( DEAL_II_WITH_GINKGO = OFF )
#      ( DEAL_II_WITH_GMSH = OFF )
#        DEAL_II_WITH_GSL set up with external dependencies
#            GSL_VERSION = 2.3
#            GSL_INCLUDE_DIRS = /usr/include
#            GSL_USER_INCLUDE_DIRS = /usr/include
#            GSL_LIBRARIES = /usr/lib/x86_64-linux-gnu/libgsl.so;/usr/lib/x86_64-linux-gnu/libgslcblas.so
#        DEAL_II_WITH_HDF5 set up with external dependencies
#            HDF5_DIR = /usr/lib/x86_64-linux-gnu/hdf5/openmpi
#            HDF5_INCLUDE_DIRS = /usr/lib/x86_64-linux-gnu/hdf5/openmpi/include
#            HDF5_USER_INCLUDE_DIRS = /usr/lib/x86_64-linux-gnu/hdf5/openmpi/include
#            HDF5_LIBRARIES = /usr/lib/x86_64-linux-gnu/hdf5/openmpi/lib/libhdf5_hl.so;/usr/lib/x86_64-linux-gnu/hdf5/openmpi/lib/libhdf5.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so
#        DEAL_II_WITH_LAPACK set up with external dependencies
#            LAPACK_DIR = /usr/lib/lapack
#            LAPACK_WITH_64BIT_BLAS_INDICES = OFF
#            LAPACK_LINKER_FLAGS = 
#            LAPACK_LIBRARIES = /usr/lib/lapack/liblapack.so;/usr/lib/libblas.so;gfortran;quadmath;m;c
#      ( DEAL_II_WITH_METIS = OFF )
#        DEAL_II_WITH_MPI set up with external dependencies
#            MPI_VERSION = 3.1
#            MPI_C_COMPILER = /usr/bin/mpicc
#            MPI_CXX_COMPILER = /usr/bin/mpicxx
#            MPI_Fortran_COMPILER = /usr/bin/mpif90
#            MPI_CXX_FLAGS = 
#            MPI_LINKER_FLAGS = 
#            MPI_INCLUDE_DIRS = /usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include
#            MPI_USER_INCLUDE_DIRS = /usr/lib/x86_64-linux-gnu/openmpi/include/openmpi;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent;/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include;/usr/lib/x86_64-linux-gnu/openmpi/include
#            MPI_LIBRARIES = /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_usempif08.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_usempi_ignore_tkr.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_mpifh.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so
#        DEAL_II_WITH_MUPARSER set up with bundled packages
#            MUPARSER_BUNDLED_INCLUDE_DIRS = /home/lagrange/git/dealii/bundled/muparser_v2_2_4//include
#      ( DEAL_II_WITH_NANOFLANN = OFF )
#        DEAL_II_WITH_NETCDF set up with external dependencies
#            NETCDF_INCLUDE_DIRS = /usr/include
#            NETCDF_LIBRARIES = /usr/lib/x86_64-linux-gnu/libnetcdf_c++.so;/usr/lib/x86_64-linux-gnu/libnetcdf.so
#      ( DEAL_II_WITH_OPENCASCADE = OFF )
#        DEAL_II_WITH_P4EST set up with external dependencies
#            P4EST_VERSION = 2.0
#            P4EST_DIR = /opt/p4est
#            P4EST_INCLUDE_DIRS = /opt/p4est/FAST/include
#            P4EST_USER_INCLUDE_DIRS = /opt/p4est/FAST/include
#            P4EST_LIBRARIES = optimized;/opt/p4est/FAST/lib/libp4est.so;/opt/p4est/FAST/lib/libsc.so;debug;/opt/p4est/DEBUG/lib/libp4est.so;/opt/p4est/DEBUG/lib/libsc.so;general;/usr/lib/lapack/liblapack.so;/usr/lib/libblas.so;gfortran;quadmath;m;c;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so
#        DEAL_II_WITH_PETSC set up with external dependencies
#            PETSC_VERSION = 3.7.5.0
#            PETSC_INCLUDE_DIRS = /usr/include/petsc
#            PETSC_USER_INCLUDE_DIRS = /usr/include/petsc
#            PETSC_LIBRARIES = /usr/lib/x86_64-linux-gnu/libpetsc.so
#        DEAL_II_WITH_SCALAPACK set up with external dependencies
#            SCALAPACK_LINKER_FLAGS = 
#            SCALAPACK_LIBRARIES = /usr/lib/libscalapack-openmpi.so;/usr/lib/lapack/liblapack.so;/usr/lib/libblas.so;gfortran;quadmath;m;c;/usr/lib/libblacs-openmpi.so;/usr/lib/libblacsCinit-openmpi.so;/usr/lib/libblacsF77init-openmpi.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_usempif08.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_usempi_ignore_tkr.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_mpifh.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so
#        DEAL_II_WITH_SLEPC set up with external dependencies
#            SLEPC_VERSION = 3.7.3.0
#            SLEPC_INCLUDE_DIRS = /usr/include/slepc
#            SLEPC_USER_INCLUDE_DIRS = /usr/include/slepc
#            SLEPC_LIBRARIES = /usr/lib/x86_64-linux-gnu/libslepc.so;/usr/lib/x86_64-linux-gnu/libpetsc.so
#      ( DEAL_II_WITH_SUNDIALS = OFF )
#        DEAL_II_WITH_THREADS set up with external dependencies
#            TBB_VERSION = 4.3
#            THREADS_LINKER_FLAGS = -pthread
#            THREADS_INCLUDE_DIRS = /usr/include
#            THREADS_USER_INCLUDE_DIRS = /usr/include
#            THREADS_LIBRARIES = /usr/lib/x86_64-linux-gnu/libtbb.so
#        DEAL_II_WITH_TRILINOS set up with external dependencies
#            TRILINOS_VERSION = 12.10.1
#            TRILINOS_DIR = <system location>
#            TRILINOS_LINKER_FLAGS = 
#            TRILINOS_INCLUDE_DIRS = /usr/include/trilinos;/usr/include/hdf5/openmpi;/usr/include
#            TRILINOS_USER_INCLUDE_DIRS = /usr/include/trilinos;/usr/include/hdf5/openmpi;/usr/include
#            TRILINOS_LIBRARIES = /usr/lib/x86_64-linux-gnu/libtrilinos_pike-blackbox.so;/usr/lib/x86_64-linux-gnu/libtrilinos_trilinoscouplings.so;/usr/lib/x86_64-linux-gnu/libtrilinos_piro.so;/usr/lib/x86_64-linux-gnu/libtrilinos_rol.so;/usr/lib/x86_64-linux-gnu/libtrilinos_stokhos_muelu.so;/usr/lib/x86_64-linux-gnu/libtrilinos_stokhos_ifpack2.so;/usr/lib/x86_64-linux-gnu/libtrilinos_stokhos_amesos2.so;/usr/lib/x86_64-linux-gnu/libtrilinos_stokhos_tpetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_stokhos_sacado.so;/usr/lib/x86_64-linux-gnu/libtrilinos_stokhos.so;/usr/lib/x86_64-linux-gnu/libtrilinos_rythmos.so;/usr/lib/x86_64-linux-gnu/libtrilinos_muelu-adapters.so;/usr/lib/x86_64-linux-gnu/libtrilinos_muelu-interface.so;/usr/lib/x86_64-linux-gnu/libtrilinos_muelu.so;/usr/lib/x86_64-linux-gnu/libtrilinos_moertel.so;/usr/lib/x86_64-linux-gnu/libtrilinos_locathyra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_locaepetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_localapack.so;/usr/lib/x86_64-linux-gnu/libtrilinos_loca.so;/usr/lib/x86_64-linux-gnu/libtrilinos_noxepetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_noxlapack.so;/usr/lib/x86_64-linux-gnu/libtrilinos_nox.so;/usr/lib/x86_64-linux-gnu/libtrilinos_phalanx.so;/usr/lib/x86_64-linux-gnu/libtrilinos_intrepid.so;/usr/lib/x86_64-linux-gnu/libtrilinos_teko.so;/usr/lib/x86_64-linux-gnu/libtrilinos_stratimikos.so;/usr/lib/x86_64-linux-gnu/libtrilinos_stratimikosbelos.so;/usr/lib/x86_64-linux-gnu/libtrilinos_stratimikosaztecoo.so;/usr/lib/x86_64-linux-gnu/libtrilinos_stratimikosamesos.so;/usr/lib/x86_64-linux-gnu/libtrilinos_stratimikosml.so;/usr/lib/x86_64-linux-gnu/libtrilinos_stratimikosifpack.so;/usr/lib/x86_64-linux-gnu/libtrilinos_ifpack2-adapters.so;/usr/lib/x86_64-linux-gnu/libtrilinos_ifpack2.so;/usr/lib/x86_64-linux-gnu/libtrilinos_anasazitpetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_ModeLaplace.so;/usr/lib/x86_64-linux-gnu/libtrilinos_anasaziepetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_anasazi.so;/usr/lib/x86_64-linux-gnu/libtrilinos_komplex.so;/usr/lib/x86_64-linux-gnu/libtrilinos_amesos2.so;/usr/lib/x86_64-linux-gnu/libtrilinos_shylu.so;/usr/lib/x86_64-linux-gnu/libtrilinos_belostpetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_belosepetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_belos.so;/usr/lib/x86_64-linux-gnu/libtrilinos_ml.so;/usr/lib/x86_64-linux-gnu/libtrilinos_ifpack.so;/usr/lib/x86_64-linux-gnu/libtrilinos_zoltan2.so;/usr/lib/x86_64-linux-gnu/libtrilinos_pamgen_extras.so;/usr/lib/x86_64-linux-gnu/libtrilinos_pamgen.so;/usr/lib/x86_64-linux-gnu/libtrilinos_amesos.so;/usr/lib/x86_64-linux-gnu/libtrilinos_galeri-xpetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_galeri-epetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_aztecoo.so;/usr/lib/x86_64-linux-gnu/libtrilinos_dpliris.so;/usr/lib/x86_64-linux-gnu/libtrilinos_isorropia.so;/usr/lib/x86_64-linux-gnu/libtrilinos_optipack.so;/usr/lib/x86_64-linux-gnu/libtrilinos_xpetra-sup.so;/usr/lib/x86_64-linux-gnu/libtrilinos_xpetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_thyratpetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_thyraepetraext.so;/usr/lib/x86_64-linux-gnu/libtrilinos_thyraepetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_thyracore.so;/usr/lib/x86_64-linux-gnu/libtrilinos_epetraext.so;/usr/lib/x86_64-linux-gnu/libtrilinos_tpetraext.so;/usr/lib/x86_64-linux-gnu/libtrilinos_tpetrainout.so;/usr/lib/x86_64-linux-gnu/libtrilinos_tpetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_kokkostsqr.so;/usr/lib/x86_64-linux-gnu/libtrilinos_tpetrakernels.so;/usr/lib/x86_64-linux-gnu/libtrilinos_tpetraclassiclinalg.so;/usr/lib/x86_64-linux-gnu/libtrilinos_tpetraclassicnodeapi.so;/usr/lib/x86_64-linux-gnu/libtrilinos_tpetraclassic.so;/usr/lib/x86_64-linux-gnu/libtrilinos_triutils.so;/usr/lib/x86_64-linux-gnu/libtrilinos_globipack.so;/usr/lib/x86_64-linux-gnu/libtrilinos_shards.so;/usr/lib/x86_64-linux-gnu/libtrilinos_zoltan.so;/usr/lib/x86_64-linux-gnu/libtrilinos_epetra.so;/usr/lib/x86_64-linux-gnu/libtrilinos_sacado.so;/usr/lib/x86_64-linux-gnu/libtrilinos_rtop.so;/usr/lib/x86_64-linux-gnu/libtrilinos_teuchoskokkoscomm.so;/usr/lib/x86_64-linux-gnu/libtrilinos_teuchoskokkoscompat.so;/usr/lib/x86_64-linux-gnu/libtrilinos_teuchosremainder.so;/usr/lib/x86_64-linux-gnu/libtrilinos_teuchosnumerics.so;/usr/lib/x86_64-linux-gnu/libtrilinos_teuchoscomm.so;/usr/lib/x86_64-linux-gnu/libtrilinos_teuchosparameterlist.so;/usr/lib/x86_64-linux-gnu/libtrilinos_teuchoscore.so;/usr/lib/x86_64-linux-gnu/libtrilinos_kokkosalgorithms.so;/usr/lib/x86_64-linux-gnu/libtrilinos_kokkoscontainers.so;/usr/lib/x86_64-linux-gnu/libtrilinos_kokkoscore.so;/usr/lib/libsmumps.so;/usr/lib/libdmumps.so;/usr/lib/libcmumps.so;/usr/lib/libzmumps.so;/usr/lib/libpord.so;/usr/lib/libmumps_common.so;/usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5.so;/usr/lib/x86_64-linux-gnu/libtbb.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/liblapack.so;/usr/lib/libblas.so;dl;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so;/usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so
#        DEAL_II_WITH_UMFPACK set up with external dependencies
#            UMFPACK_VERSION = 5.7.6
#            UMFPACK_LINKER_FLAGS = 
#            UMFPACK_INCLUDE_DIRS = /usr/include/suitesparse
#            UMFPACK_USER_INCLUDE_DIRS = /usr/include/suitesparse
#            UMFPACK_LIBRARIES = /usr/lib/x86_64-linux-gnu/libumfpack.so;/usr/lib/x86_64-linux-gnu/libcholmod.so;/usr/lib/x86_64-linux-gnu/libccolamd.so;/usr/lib/x86_64-linux-gnu/libcolamd.so;/usr/lib/x86_64-linux-gnu/libcamd.so;/usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so;/usr/lib/x86_64-linux-gnu/libamd.so;/usr/lib/lapack/liblapack.so;/usr/lib/libblas.so;gfortran;quadmath;m;c;rt
#        DEAL_II_WITH_ZLIB set up with external dependencies
#            ZLIB_VERSION = 1.2.8
#            ZLIB_INCLUDE_DIRS = /usr/include
#            ZLIB_LIBRARIES = /usr/lib/x86_64-linux-gnu/libz.so
#
#  Component configuration:
#      ( DEAL_II_COMPONENT_DOCUMENTATION = OFF )
#        DEAL_II_COMPONENT_EXAMPLES
#      ( DEAL_II_COMPONENT_PACKAGE = OFF )
#      ( DEAL_II_COMPONENT_PYTHON_BINDINGS = OFF )
#
###
$ apt search scalapack
Sorting... Done
Full Text Search... Done
blacs-mpi-test/stable 1.1-38 amd64
  Basic Linear Algebra Comm. Subprograms - Test files for MPI

blacs-pvm-dev/stable,now 1.1-21 amd64 [installed,automatic]
  Basic Linear Algebra Comm. Subprograms - Dev. files for PVM

blacs-pvm-test/stable 1.1-21 amd64
  Basic Linear Algebra Comm. Subprograms - Test files for PVM

blacs1-pvm/stable,now 1.1-21 amd64 [installed,automatic]
  Basic Linear Algebra Comm. Subprograms - Shared libs. for PVM

libblacs-mpi-dev/stable,now 1.1-38 amd64 [installed,automatic]
  Basic Linear Algebra Comm. Subprograms - Dev. files for MPI

libblacs-openmpi1/stable,now 1.1-38 amd64 [installed,automatic]
  Basic Linear Algebra Comm. Subprograms - Shared libs. for OpenMPI

libscalapack-mpi-dev/stable,now 1.8.0-13 amd64 [installed]
  Scalable Linear Algebra Package - Dev. files for MPICH

libscalapack-openmpi1/stable,now 1.8.0-13 amd64 [installed]
  Scalable Linear Algebra Package - Shared libs. for OpenMPI

libscalapack-pvm-dev/stable,now 1.8.0-13 amd64 [installed]
  Scalable Linear Algebra Package - Dev. files for PVM

libscalapack-pvm1/stable,now 1.8.0-13 amd64 [installed]
  Scalable Linear Algebra Package - Shared libs. for PVM

scalapack-doc/stable 1.5-11 all
  Scalable Linear Algebra Package Documentation

scalapack-mpi-test/stable 1.8.0-13 amd64
  Scalable Linear Algebra Package - Test files for MPICH

scalapack-pvm-test/stable 1.8.0-13 amd64
  Scalable Linear Algebra Package - Test files for PVM

scalapack-test-common/stable 1.8.0-13 all
  Test data for ScaLAPACK testers
drwells commented 5 years ago

It looks like the symbols are missing even though you have scalapack installed. Could you find libscalapack.so on your machine and run nm -D libscalapack.so | grep syevr to check?

edit: fix the shell command

Lagrang3 commented 5 years ago

Here's one

$ for i in $(find /usr/lib -name 'libscalapack*') ; do nm --print-file-name -D $i 2>/dev/null | grep pdsyev ; done
/usr/lib/libscalapack-openmpi.so.1.8.0:0000000000347090 T pdsyev_
/usr/lib/libscalapack-openmpi.so.1.8.0:0000000000348d00 T pdsyevd_
/usr/lib/libscalapack-openmpi.so.1.8.0:0000000000349790 T pdsyevx_
/usr/lib/libscalapack-pvm.so:0000000000347010 T pdsyev_
/usr/lib/libscalapack-pvm.so:0000000000348c80 T pdsyevd_
/usr/lib/libscalapack-pvm.so:0000000000349710 T pdsyevx_
/usr/lib/libscalapack-openmpi.so:0000000000347090 T pdsyev_
/usr/lib/libscalapack-openmpi.so:0000000000348d00 T pdsyevd_
/usr/lib/libscalapack-openmpi.so:0000000000349790 T pdsyevx_
/usr/lib/libscalapack-pvm.so.1.8.0:0000000000347010 T pdsyev_
/usr/lib/libscalapack-pvm.so.1.8.0:0000000000348c80 T pdsyevd_
/usr/lib/libscalapack-pvm.so.1.8.0:0000000000349710 T pdsyevx_
/usr/lib/libscalapack-pvm.so.1:0000000000347010 T pdsyev_
/usr/lib/libscalapack-pvm.so.1:0000000000348c80 T pdsyevd_
/usr/lib/libscalapack-pvm.so.1:0000000000349710 T pdsyevx_
/usr/lib/libscalapack-openmpi.so.1:0000000000347090 T pdsyev_
/usr/lib/libscalapack-openmpi.so.1:0000000000348d00 T pdsyevd_
/usr/lib/libscalapack-openmpi.so.1:0000000000349790 T pdsyevx_

here the other

$ for i in $(find /usr/lib -name 'libscalapack*') ; do nm --print-file-name -D $i 2>/dev/null | grep pssyev ; done
/usr/lib/libscalapack-openmpi.so.1.8.0:00000000004566b0 T pssyev_
/usr/lib/libscalapack-openmpi.so.1.8.0:00000000004587a0 T pssyevd_
/usr/lib/libscalapack-openmpi.so.1.8.0:0000000000459230 T pssyevx_
/usr/lib/libscalapack-pvm.so:0000000000456630 T pssyev_
/usr/lib/libscalapack-pvm.so:0000000000458720 T pssyevd_
/usr/lib/libscalapack-pvm.so:00000000004591b0 T pssyevx_
/usr/lib/libscalapack-openmpi.so:00000000004566b0 T pssyev_
/usr/lib/libscalapack-openmpi.so:00000000004587a0 T pssyevd_
/usr/lib/libscalapack-openmpi.so:0000000000459230 T pssyevx_
/usr/lib/libscalapack-pvm.so.1.8.0:0000000000456630 T pssyev_
/usr/lib/libscalapack-pvm.so.1.8.0:0000000000458720 T pssyevd_
/usr/lib/libscalapack-pvm.so.1.8.0:00000000004591b0 T pssyevx_
/usr/lib/libscalapack-pvm.so.1:0000000000456630 T pssyev_
/usr/lib/libscalapack-pvm.so.1:0000000000458720 T pssyevd_
/usr/lib/libscalapack-pvm.so.1:00000000004591b0 T pssyevx_
/usr/lib/libscalapack-openmpi.so.1:00000000004566b0 T pssyev_
/usr/lib/libscalapack-openmpi.so.1:00000000004587a0 T pssyevd_
/usr/lib/libscalapack-openmpi.so.1:0000000000459230 T pssyevx_

no pdsyevr_ or pssyevr_ around. But shouldn't they be documented? If I man pdsyev or man pdsyevx I get their respective man pages. Howerver, for man pdsyevd and man pdsyevr I get No manual entry for ...

drwells commented 5 years ago

I am surprised that your vendor's copy of scalapack doesn't include these functions; its been around since 2006 or so [1].

@davydden You are the scalapack expert :) do you know why this would be?

[1] http://www.hpcx.ac.uk/research/hpc/technical_reports/HPCxTR0608.pdf

davydden commented 5 years ago

@davydden You are the scalapack expert :) do you know why this would be?

No idea why would that be the case.

I think we should add a config check for those symbols and disable parts that use them. IIRC someone on forum had a similar issue recently.

Lagrang3 commented 5 years ago

I solved the problem by installing Blas, Lapack and Scalapack from source, and then linking Dealii to those libraries.

drwells commented 5 years ago

It sounds like the problem is with your original distribution: for whatever reason it does not include these functions.

I think that we should add a check for these symbols and error out if they are not available.

@Lagrang3 what Linux distribution are you using?

Lagrang3 commented 5 years ago
$ uname -a
Linux COSMOS 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux