Problem building dealii with PETSc

1,257 views
Skip to first unread message

Pete Griffin

unread,
Jul 10, 2016, 10:54:54 PM7/10/16
to deal.II User Group
I am trying to get PETSc running with dealii-8.4.1. (on Ubuntu 16.04) Reading the documentation it looks
like I don't need to have MPI. (???) I downloaded petsc-3.6.4 and most recently compiled it with:

./configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-fblaslapack  --with-mpi=0

This resulted in the following being created in petsc-3.6.4/arch-linux2-c-debug:

ls -R lib

lib:
libfblas.a  libflapack.a  libpetsc.so  libpetsc.so.3.6  libpetsc.so.3.6.4  petsc  pkgconfig

lib/petsc:
conf

lib/petsc/conf:
configure.log      error.log    files      make.log  PETScConfig.cmake  petscvariables  reconfigure-arch-linux2-c-debug.py
configure.log.bkp  fblaslapack  gmake.log  modules   petscrules         RDict.db        test.log

lib/petsc/conf/modules:
petsc

lib/petsc/conf/modules/petsc:
3.6.4

lib/pkgconfig:
PETSc.pc

and

ls -R include/

include/:
mpi.mod            petscdef.mod          petscdm.mod      petscksp.mod        petscpcdef.mod    petscsys.mod
petscaodef.mod     petscdmcomposite.mod  petscfix.h       petscmachineinfo.h  petscpc.mod       petsctsdef.mod
petscao.mod        petscdmdadef.mod      petscisdef.mod   petscmatdef.mod     petscsnesdef.mod  petscts.mod
petscconf.h        petscdmda.mod         petscis.mod      petscmat.mod        petscsnes.mod     petscvecdef.mod
petscconfiginfo.h  petscdmdef.mod        petsckspdef.mod  petsc.mod           petscsysdef.mod   petscvec.mod

Originally I compiled without the --with-mpi=0 and mpi libraries were created. The MPI version
did not work! Since I am running on a single computer MPI was not needed and tried without it.

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

The basic error is, with full details below:

-- Found PETSC
-- Could not find a sufficient PETSc installation: PETSc has to be
   configured with the same MPI configuration as deal.II.
-- DEAL_II_WITH_PETSC has unmet external dependencies.
CMake Error at cmake/configure/configure_3_petsc.cmake:110 (MESSAGE):
  

  Could not find the petsc library!

  Could not find a sufficient PETSc installation:

  PETSc has to be configured with the same MPI configuration as deal.II, but
  found:

    DEAL_II_WITH_MPI = OFF
    PETSC_WITH_MPI   = (NOT FALSE)
....


I assume the -DDEAL_II_WITH_MPI=OFF switch would work since I created PETsc with
  --with-mpi=0 and since mpi files were not created.



Thanks, Pete Griffin


=================================================================================================
THE RESULTS OF cmake for dealii were as follows:
=================================================================================================

$ cd dealii-8.4.1-PETSc/
/dealii-8.4.1-PETSc$ mkdir build
/dealii-8.4.1-PETSc$ cd build
=================================================================================================
/dealii-8.4.1-PETSc/build$ cmake -DCMAKE_INSTALL_PREFIX=/home/pgriffin/mylibs/dealii-8.4.1-PETSc -DPETSC_DIR=/petsc-3.6.4/arch-linux2-c-debug/lib -DPETSC_ARCH=x86_64  -DDEAL_II_WITH_MPI=OFF -DDEAL_II_WITH_PETSC=ON  ../
=================================================================================================
-- This is CMake 3.5.1
-- 
-- Include /dealii-8.4.1-PETSc/cmake/setup_external_macros.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_enable_if_supported.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_find_file.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_setup_target.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_insource_setup_target.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_add_flags.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_add_dependencies.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_invoke_autopilot.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_push_cmake_required.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_enable_language_optional.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_filter_system_libraries.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_purge_feature.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_switch_library_preference.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_remove_duplicates.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_check_cxx_compiler_bug.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_query_git_information.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_clear_cmake_required.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_set_if_empty.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_expand_instantiations.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_reset_cmake_required.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_replace_flag.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_register_feature.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_find_package.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_find_system_library.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_package_handle.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_verbose_include.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_add_library.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_item_matches.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_configure_feature.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_to_string.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_pickup_tests.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_to_string_and_add_prefix.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_strip_flag.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_initialize_cached_variables.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_add_definitions.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_find_path.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_find_library.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_deal_ii_add_test.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_check_mpi_interface.cmake
-- Include /dealii-8.4.1-PETSc/cmake/macros/macro_enable_if_links.cmake
-- 
-- Include /dealii-8.4.1-PETSc/cmake/setup_cached_variables.cmake
-- The CXX compiler identification is GNU 5.3.1
-- The C compiler identification is GNU 5.3.1
-- 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
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- 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
-- Detecting C compile features
-- Detecting C compile features - done
-- The Fortran compiler identification is GNU 5.3.1
-- Check for working Fortran compiler: /usr/bin/gfortran
-- Check for working Fortran compiler: /usr/bin/gfortran  -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/gfortran supports Fortran 90
-- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
-- 
-- Include /dealii-8.4.1-PETSc/cmake/setup_deal_ii.cmake
-- 
-- Include /dealii-8.4.1-PETSc/cmake/setup_compiler_flags.cmake
-- 
-- Include /dealii-8.4.1-PETSc/cmake/setup_compiler_flags_gnu.cmake
-- Performing Test DEAL_II_HAVE_FLAG_pedantic
-- Performing Test DEAL_II_HAVE_FLAG_pedantic - Success
-- Performing Test DEAL_II_HAVE_FLAG_fpic
-- Performing Test DEAL_II_HAVE_FLAG_fpic - Success
-- Performing Test DEAL_II_HAVE_FLAG_Wl__as_needed
-- Performing Test DEAL_II_HAVE_FLAG_Wl__as_needed - Success
-- Performing Test DEAL_II_HAVE_FLAG_Wall
-- Performing Test DEAL_II_HAVE_FLAG_Wall - Success
-- Performing Test DEAL_II_HAVE_FLAG_Wextra
-- Performing Test DEAL_II_HAVE_FLAG_Wextra - Success
-- Performing Test DEAL_II_HAVE_FLAG_Wpointer_arith
-- Performing Test DEAL_II_HAVE_FLAG_Wpointer_arith - Success
-- Performing Test DEAL_II_HAVE_FLAG_Wwrite_strings
-- Performing Test DEAL_II_HAVE_FLAG_Wwrite_strings - Success
-- Performing Test DEAL_II_HAVE_FLAG_Wsynth
-- Performing Test DEAL_II_HAVE_FLAG_Wsynth - Success
-- Performing Test DEAL_II_HAVE_FLAG_Wsign_compare
-- Performing Test DEAL_II_HAVE_FLAG_Wsign_compare - Success
-- Performing Test DEAL_II_HAVE_FLAG_Wswitch
-- Performing Test DEAL_II_HAVE_FLAG_Wswitch - Success
-- Performing Test DEAL_II_HAVE_FLAG_Woverloaded_virtual
-- Performing Test DEAL_II_HAVE_FLAG_Woverloaded_virtual - Success
-- Performing Test DEAL_II_HAVE_FLAG_Wlong_long
-- Performing Test DEAL_II_HAVE_FLAG_Wlong_long - Success
-- Performing Test DEAL_II_HAVE_FLAG_Wdeprecated_declarations
-- Performing Test DEAL_II_HAVE_FLAG_Wdeprecated_declarations - Success
-- Performing Test DEAL_II_HAVE_FLAG_Wliteral_suffix
-- Performing Test DEAL_II_HAVE_FLAG_Wliteral_suffix - Success
-- Performing Test DEAL_II_HAVE_FLAG_funroll_loops
-- Performing Test DEAL_II_HAVE_FLAG_funroll_loops - Success
-- Performing Test DEAL_II_HAVE_FLAG_funroll_all_loops
-- Performing Test DEAL_II_HAVE_FLAG_funroll_all_loops - Success
-- Performing Test DEAL_II_HAVE_FLAG_fstrict_aliasing
-- Performing Test DEAL_II_HAVE_FLAG_fstrict_aliasing - Success
-- Performing Test DEAL_II_HAVE_FLAG_Og
-- Performing Test DEAL_II_HAVE_FLAG_Og - Success
-- Performing Test DEAL_II_HAVE_FLAG_ggdb
-- Performing Test DEAL_II_HAVE_FLAG_ggdb - Success
-- 
-- Include /dealii-8.4.1-PETSc/bundled/setup_bundled.cmake
-- 
-- Include /dealii-8.4.1-PETSc/cmake/checks/check_01_compiler_features.cmake
-- Performing Test DEAL_II_COMPILER_USE_VECTOR_ARITHMETICS
-- Performing Test DEAL_II_COMPILER_USE_VECTOR_ARITHMETICS - Success
-- Performing Test DEAL_II_VECTOR_ITERATOR_IS_POINTER_OK
-- Performing Test DEAL_II_VECTOR_ITERATOR_IS_POINTER_OK - Success
-- Test successful, do not define DEAL_II_VECTOR_ITERATOR_IS_POINTER
-- Performing Test DEAL_II_HAVE_BUILTIN_EXPECT
-- Performing Test DEAL_II_HAVE_BUILTIN_EXPECT - Success
-- Performing Test DEAL_II_HAVE_VERBOSE_TERMINATE
-- Performing Test DEAL_II_HAVE_VERBOSE_TERMINATE - Success
-- Performing Test DEAL_II_HAVE_GLIBC_STACKTRACE
-- Performing Test DEAL_II_HAVE_GLIBC_STACKTRACE - Success
-- Performing Test DEAL_II_HAVE_FLAG_rdynamic
-- Performing Test DEAL_II_HAVE_FLAG_rdynamic - Success
-- Performing Test DEAL_II_HAVE_LIBSTDCXX_DEMANGLER
-- Performing Test DEAL_II_HAVE_LIBSTDCXX_DEMANGLER - Success
-- Performing Test DEAL_II_COMPILER_HAS_ATTRIBUTE_PRETTY_FUNCTION
-- Performing Test DEAL_II_COMPILER_HAS_ATTRIBUTE_PRETTY_FUNCTION - Success
-- Performing Test DEAL_II_HAVE_FLAG_Wa__compress_debug_sections
-- Performing Test DEAL_II_HAVE_FLAG_Wa__compress_debug_sections - Success
-- Performing Test DEAL_II_COMPILER_HAS_ATTRIBUTE_DEPRECATED
-- Performing Test DEAL_II_COMPILER_HAS_ATTRIBUTE_DEPRECATED - Success
-- Performing Test DEAL_II_COMPILER_HAS_ATTRIBUTE_ALWAYS_INLINE
-- Performing Test DEAL_II_COMPILER_HAS_ATTRIBUTE_ALWAYS_INLINE - Success
-- Performing Test DEAL_II_COMPILER_HAS_DIAGNOSTIC_PRAGMA
-- Performing Test DEAL_II_COMPILER_HAS_DIAGNOSTIC_PRAGMA - Success
-- Performing Test DEAL_II_COMPILER_HAS_FUSE_LD_GOLD
-- Performing Test DEAL_II_COMPILER_HAS_FUSE_LD_GOLD - Success
-- 
-- Include /dealii-8.4.1-PETSc/cmake/checks/check_01_cpu_features.cmake
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Performing Test DEAL_II_HAVE_SSE2
-- Performing Test DEAL_II_HAVE_SSE2 - Success
-- Performing Test DEAL_II_HAVE_AVX
-- Performing Test DEAL_II_HAVE_AVX - Failed
-- Performing Test DEAL_II_HAVE_AVX512
-- Performing Test DEAL_II_HAVE_AVX512 - Failed
-- Performing Test DEAL_II_HAVE_OPENMP_SIMD
-- Performing Test DEAL_II_HAVE_OPENMP_SIMD - Success
-- 
-- Include /dealii-8.4.1-PETSc/cmake/checks/check_01_cxx_features.cmake
-- Performing Test DEAL_II_HAVE_FLAG_stdcxx14
-- Performing Test DEAL_II_HAVE_FLAG_stdcxx14 - Success
-- Using C++ version flag "-std=c++14"
-- Performing Test DEAL_II_HAVE_CXX14_MAKE_UNIQUE
-- Performing Test DEAL_II_HAVE_CXX14_MAKE_UNIQUE - Success
-- Performing Test DEAL_II_HAVE_CXX14_CLANGAUTODEBUG_BUG_OK
-- Performing Test DEAL_II_HAVE_CXX14_CLANGAUTODEBUG_BUG_OK - Success
-- Using C++ version flag "-std=c++14"
-- Performing Test DEAL_II_HAVE_CXX11_ARRAY
-- Performing Test DEAL_II_HAVE_CXX11_ARRAY - Success
-- Performing Test DEAL_II_HAVE_CXX11_CONDITION_VARIABLE
-- Performing Test DEAL_II_HAVE_CXX11_CONDITION_VARIABLE - Success
-- Performing Test DEAL_II_HAVE_CXX11_FUNCTIONAL
-- Performing Test DEAL_II_HAVE_CXX11_FUNCTIONAL - Success
-- Performing Test DEAL_II_HAVE_CXX11_FUNCTIONAL_GCCBUG35569_OK
-- Performing Test DEAL_II_HAVE_CXX11_FUNCTIONAL_GCCBUG35569_OK - Success
-- Performing Test DEAL_II_HAVE_CXX11_FUNCTIONAL_LLVMBUG20084_OK
-- Performing Test DEAL_II_HAVE_CXX11_FUNCTIONAL_LLVMBUG20084_OK - Success
-- Performing Test DEAL_II_HAVE_CXX11_SHARED_PTR
-- Performing Test DEAL_II_HAVE_CXX11_SHARED_PTR - Success
-- Performing Test DEAL_II_HAVE_CXX11_THREAD
-- Performing Test DEAL_II_HAVE_CXX11_THREAD - Success
-- Performing Test DEAL_II_HAVE_CXX11_MUTEX
-- Performing Test DEAL_II_HAVE_CXX11_MUTEX - Success
-- Performing Test DEAL_II_HAVE_CXX11_TUPLE
-- Performing Test DEAL_II_HAVE_CXX11_TUPLE - Success
-- Performing Test DEAL_II_HAVE_CXX11_TYPE_TRAITS
-- Performing Test DEAL_II_HAVE_CXX11_TYPE_TRAITS - Success
-- Performing Test DEAL_II_HAVE_CXX11_MACOSXC99BUG_OK
-- Performing Test DEAL_II_HAVE_CXX11_MACOSXC99BUG_OK - Success
-- Performing Test DEAL_II_HAVE_CXX11_ICCNUMERICLIMITSBUG_OK
-- Performing Test DEAL_II_HAVE_CXX11_ICCNUMERICLIMITSBUG_OK - Success
-- Performing Test DEAL_II_HAVE_CXX11_ICCLIBSTDCPP47CXX11BUG_OK
-- Performing Test DEAL_II_HAVE_CXX11_ICCLIBSTDCPP47CXX11BUG_OK - Success
-- DEAL_II_WITH_CXX11 successfully set up
-- DEAL_II_WITH_CXX14 successfully set up
-- Performing Test DEAL_II_HAVE_CXX11_IS_TRIVIALLY_COPYABLE
-- Performing Test DEAL_II_HAVE_CXX11_IS_TRIVIALLY_COPYABLE - Success
-- Performing Test DEAL_II_HAVE_STD_ISNAN
-- Performing Test DEAL_II_HAVE_STD_ISNAN - Success
-- Performing Test DEAL_II_HAVE_ISNAN
-- Performing Test DEAL_II_HAVE_ISNAN - Success
-- Performing Test DEAL_II_HAVE_UNDERSCORE_ISNAN
-- Performing Test DEAL_II_HAVE_UNDERSCORE_ISNAN - Failed
-- Performing Test DEAL_II_HAVE_ISFINITE
-- Performing Test DEAL_II_HAVE_ISFINITE - Success
-- Performing Test DEAL_II_HAVE_FP_EXCEPTIONS
-- Performing Test DEAL_II_HAVE_FP_EXCEPTIONS - Success
-- Performing Test DEAL_II_HAVE_COMPLEX_OPERATOR_OVERLOADS
-- Performing Test DEAL_II_HAVE_COMPLEX_OPERATOR_OVERLOADS - Failed
-- 
-- Include /dealii-8.4.1-PETSc/cmake/checks/check_02_system_features.cmake
-- Looking for C++ include sys/resource.h
-- Looking for C++ include sys/resource.h - found
-- Looking for C++ include sys/time.h
-- Looking for C++ include sys/time.h - found
-- Looking for C++ include sys/times.h
-- Looking for C++ include sys/times.h - found
-- Looking for times
-- Looking for times - found
-- Looking for C++ include sys/types.h
-- Looking for C++ include sys/types.h - found
-- Looking for C++ include unistd.h
-- Looking for C++ include unistd.h - found
-- Looking for gethostname
-- Looking for gethostname - found
-- Looking for getpid
-- Looking for getpid - found
-- Performing Test m_LIBRARY
-- Performing Test m_LIBRARY - Success
-- Looking for jn
-- Looking for jn - found
-- 
-- Include /dealii-8.4.1-PETSc/cmake/checks/check_03_compiler_bugs.cmake
-- Performing Test DEAL_II_WRETURN_TYPE_CONST_QUALIFIER_BUG_OK
-- Performing Test DEAL_II_WRETURN_TYPE_CONST_QUALIFIER_BUG_OK - Success
-- Test successful, do not define DEAL_II_WRETURN_TYPE_CONST_QUALIFIER_BUG
-- Performing Test DEAL_II_TEMPL_SPEC_FRIEND_BUG_OK
-- Performing Test DEAL_II_TEMPL_SPEC_FRIEND_BUG_OK - Success
-- Test successful, do not define DEAL_II_TEMPL_SPEC_FRIEND_BUG
-- Performing Test DEAL_II_MEMBER_ARRAY_SPECIALIZATION_BUG_OK
-- Performing Test DEAL_II_MEMBER_ARRAY_SPECIALIZATION_BUG_OK - Success
-- Test successful, do not define DEAL_II_MEMBER_ARRAY_SPECIALIZATION_BUG
-- Performing Test DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG_OK
-- Performing Test DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG_OK - Success
-- Test successful, do not define DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG
-- Performing Test DEAL_II_EXPLICIT_CONSTRUCTOR_BUG
-- Performing Test DEAL_II_EXPLICIT_CONSTRUCTOR_BUG - Failed
-- Performing Test DEAL_II_CONST_MEMBER_DEDUCTION_BUG_OK
-- Performing Test DEAL_II_CONST_MEMBER_DEDUCTION_BUG_OK - Success
-- Test successful, do not define DEAL_II_CONST_MEMBER_DEDUCTION_BUG
-- Performing Test DEAL_II_TYPE_QUALIFIER_BUG_OK
-- Performing Test DEAL_II_TYPE_QUALIFIER_BUG_OK - Success
-- Test successful, do not define DEAL_II_TYPE_QUALIFIER_BUG
-- Performing Test DEAL_II_BOOST_BIND_COMPILER_BUG_OK
-- Performing Test DEAL_II_BOOST_BIND_COMPILER_BUG_OK - Failed
-- Test unsuccessful, define DEAL_II_BOOST_BIND_COMPILER_BUG
-- Performing Test DEAL_II_BIND_NO_CONST_OP_PARENTHESES_OK
-- Performing Test DEAL_II_BIND_NO_CONST_OP_PARENTHESES_OK - Success
-- Test successful, do not define DEAL_II_BIND_NO_CONST_OP_PARENTHESES
-- Performing Test DEAL_II_ICC_SFINAE_BUG_OK
-- Performing Test DEAL_II_ICC_SFINAE_BUG_OK - Success
-- Test successful, do not define DEAL_II_ICC_SFINAE_BUG
-- 
-- Include /dealii-8.4.1-PETSc/cmake/checks/check_03_generator_bugs.cmake
-- 
-- Include /dealii-8.4.1-PETSc/cmake/configure/configure_1_bzip2.cmake
-- Could NOT find BZip2 (missing:  BZIP2_LIBRARIES BZIP2_INCLUDE_DIR) 
--   BZIP2_LIBRARIES: *** Required variable "_bzip2_libraries" set to NOTFOUND ***
--   BZIP2_INCLUDE_DIRS: *** Required variable "BZIP2_INCLUDE_DIR" set to NOTFOUND ***
-- Could NOT find BZIP2
-- DEAL_II_WITH_BZIP2 has unmet external dependencies.
-- 
-- Include /dealii-8.4.1-PETSc/cmake/configure/configure_1_lapack.cmake
-- Looking for Fortran sgemm
-- Looking for Fortran sgemm - found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- A library with BLAS API found.
-- Looking for Fortran cheev
-- Looking for Fortran cheev - found
-- A library with LAPACK API found.
-- Performing Test gfortran_LIBRARY
-- Performing Test gfortran_LIBRARY - Success
-- Performing Test quadmath_LIBRARY
-- Performing Test quadmath_LIBRARY - Success
-- Performing Test c_LIBRARY
-- Performing Test c_LIBRARY - Success
--   LAPACK_LIBRARIES: /usr/lib/liblapack.so;/usr/lib/libblas.so;/usr/lib/libblas.so;gfortran;m;quadmath;m;c
--   LAPACK_LINKER_FLAGS: 
-- Found LAPACK
-- Performing Test DEAL_II_HAVE_FLAG_pthread
-- Performing Test DEAL_II_HAVE_FLAG_pthread - Success
-- Performing Test LAPACK_SYMBOL_CHECK
-- Performing Test LAPACK_SYMBOL_CHECK - Success
-- DEAL_II_WITH_LAPACK successfully set up with external dependencies.
-- 
-- Include /dealii-8.4.1-PETSc/cmake/configure/configure_1_mpi.cmake
-- DEAL_II_WITH_MPI is set to off.
-- 
-- Include /dealii-8.4.1-PETSc/cmake/configure/configure_1_threads.cmake
-- TBB_LIBRARY not found! Call:
--     FIND_LIBRARY(TBB_LIBRARY NAMES tbb HINTS PATH_SUFFIXES lib lib64 lib)
-- TBB_DEBUG_LIBRARY not found! Call:
--     FIND_LIBRARY(TBB_DEBUG_LIBRARY NAMES tbb_debug HINTS PATH_SUFFIXES lib lib64 lib)
-- TBB_INCLUDE_DIR not found! Call:
--     FIND_PATH(TBB_INCLUDE_DIR tbb/tbb_stddef.h HINTS PATH_SUFFIXES include include/tbb tbb)
--   TBB_LIBRARIES: *** Required variable "TBB_LIBRARY" set to NOTFOUND ***
--   TBB_INCLUDE_DIRS: *** Required variable "TBB_INCLUDE_DIR" set to NOTFOUND ***
--   TBB_USER_INCLUDE_DIRS: *** Required variable "TBB_INCLUDE_DIR" set to NOTFOUND ***
-- Could NOT find TBB
-- DEAL_II_WITH_THREADS has unmet external dependencies.
-- Performing Test DEAL_II_HAVE_MT_POSIX_BARRIERS
-- Performing Test DEAL_II_HAVE_MT_POSIX_BARRIERS - Success
-- Performing Test DEAL_II_HAVE_FLAG_Wparentheses
-- Performing Test DEAL_II_HAVE_FLAG_Wparentheses - Success
-- DEAL_II_WITH_THREADS successfully set up with bundled packages.
-- 
-- Include /dealii-8.4.1-PETSc/cmake/configure/configure_1_zlib.cmake
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8") 
--   ZLIB_VERSION: 1.2.8
--   ZLIB_LIBRARIES: /usr/lib/x86_64-linux-gnu/libz.so
--   ZLIB_INCLUDE_DIRS: /usr/include
-- Found ZLIB
-- DEAL_II_WITH_ZLIB successfully set up with external dependencies.
-- 
-- Include /dealii-8.4.1-PETSc/cmake/configure/configure_2_metis.cmake
-- METIS_LIBRARY not found! Call:
--     FIND_LIBRARY(METIS_LIBRARY NAMES metis HINTS PATH_SUFFIXES lib lib64 lib build/Linux-x86_64/libmetis)
-- PARMETIS_LIBRARY not found! Call:
--     FIND_LIBRARY(PARMETIS_LIBRARY NAMES parmetis HINTS NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH)
-- METIS_INCLUDE_DIR not found! Call:
--     FIND_PATH(METIS_INCLUDE_DIR metis.h HINTS PATH_SUFFIXES metis include/metis include)
--   METIS_LIBRARIES: *** Required variable "METIS_LIBRARY" set to NOTFOUND ***
--   METIS_INCLUDE_DIRS: *** Required variable "METIS_INCLUDE_DIR" set to NOTFOUND ***
--   METIS_USER_INCLUDE_DIRS: *** Required variable "METIS_INCLUDE_DIR" set to NOTFOUND ***
-- Could NOT find METIS
-- DEAL_II_WITH_METIS has unmet external dependencies.
-- 
-- Include /dealii-8.4.1-PETSc/cmake/configure/configure_2_trilinos.cmake
-- EPETRA_CONFIG_H not found! Call:
--     FIND_FILE(EPETRA_CONFIG_H Epetra_config.h HINTS NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH)
-- SACADO_CONFIG_H not found! Call:
--     FIND_FILE(SACADO_CONFIG_H Sacado_config.h HINTS NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH)
-- SACADO_CMATH_HPP not found! Call:
--     FIND_FILE(SACADO_CMATH_HPP Sacado_cmath.hpp HINTS NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH)
--   TRILINOS_LIBRARIES: 
--   TRILINOS_INCLUDE_DIRS: *** Required variable "Trilinos_INCLUDE_DIRS" empty ***
--   TRILINOS_USER_INCLUDE_DIRS: *** Required variable "Trilinos_INCLUDE_DIRS" empty ***
-- Could NOT find TRILINOS
-- DEAL_II_WITH_TRILINOS has unmet external dependencies.
-- 
-- Include /dealii-8.4.1-PETSc/cmake/configure/configure_2_umfpack.cmake
-- Found UMFPACK_INCLUDE_DIR
-- Found AMD_INCLUDE_DIR
-- Found SuiteSparse_config_INCLUDE_DIR
-- Found UMFPACK_LIBRARY
-- Found AMD_LIBRARY
-- Found CHOLMOD_LIBRARY
-- Found COLAMD_LIBRARY
-- Found CCOLAMD_LIBRARY
-- Found CAMD_LIBRARY
-- Found SuiteSparse_config_LIBRARY
-- Performing Test LAPACK_SUITESPARSECONFIG_WITH_PIC
-- Performing Test LAPACK_SUITESPARSECONFIG_WITH_PIC - Failed
-- Performing Test rt_LIBRARY
-- Performing Test rt_LIBRARY - Success
--   UMFPACK_VERSION: 5.7.1
--   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/libamd.so;/usr/lib/liblapack.so;/usr/lib/libblas.so;gfortran;quadmath;m;c;rt
--   UMFPACK_INCLUDE_DIRS: /usr/include/suitesparse;/usr/include/suitesparse;/usr/include/suitesparse
--   UMFPACK_USER_INCLUDE_DIRS: /usr/include/suitesparse;/usr/include/suitesparse;/usr/include/suitesparse
--   UMFPACK_LINKER_FLAGS: 
-- Found UMFPACK
-- DEAL_II_WITH_UMFPACK successfully set up with external dependencies.
-- 
-- Include /dealii-8.4.1-PETSc/cmake/configure/configure_3_petsc.cmake
-- Found PETSC_LIBRARY
-- Found PETSC_INCLUDE_DIR_ARCH
-- Found PETSC_INCLUDE_DIR_COMMON
-- PETSC_PETSCVARIABLES not found! Call:
--     FIND_FILE(PETSC_PETSCVARIABLES NAMES petscvariables HINTS /petsc-3.6.4/arch-linux2-c-debug/lib/x86_64 /petsc-3.6.4/arch-linux2-c-debug/lib PATH_SUFFIXES conf)
--   PETSC_VERSION: 3.6.2.0
--   PETSC_LIBRARIES: /petsc-3.6.4/arch-linux2-c-debug/lib/libpetsc.so
--   PETSC_INCLUDE_DIRS: /usr/include/petsc;/usr/include/petsc
--   PETSC_USER_INCLUDE_DIRS: /usr/include/petsc;/usr/include/petsc
-- Found PETSC
-- Could not find a sufficient PETSc installation: PETSc has to be configured with the same MPI configuration as deal.II.
-- DEAL_II_WITH_PETSC has unmet external dependencies.
CMake Error at cmake/configure/configure_3_petsc.cmake:110 (MESSAGE):
  

  Could not find the petsc library!

  Could not find a sufficient PETSc installation:

  PETSc has to be configured with the same MPI configuration as deal.II, but
  found:

    DEAL_II_WITH_MPI = OFF
    PETSC_WITH_MPI   = (NOT FALSE)

  

  Please ensure that the petsc library version 3.0.0 or newer is installed on
  your computer and is configured with the same mpi options as deal.II

  If the library is not at a default location, either provide some hints

  for the autodetection:

  PETSc installed with --prefix=<...> to a destination:

      $ PETSC_DIR="..." cmake <...>
      $ cmake -DPETSC_DIR="..." <...>

  PETSc compiled in source tree:

      $ PETSC_DIR="..."  PETSC_ARCH="..." cmake <...>
      $ cmake -DPETSC_DIR="..." -DPETSC_ARCH="..." <...>

  or set the relevant variables by hand in ccmake.

  

Call Stack (most recent call first):
  build/CMakeFiles/CMakeTmp/macro_configure_feature.tmp:1 (FEATURE_PETSC_ERROR_MESSAGE)
  cmake/macros/macro_configure_feature.cmake:76 (INCLUDE)
  cmake/macros/macro_configure_feature.cmake:272 (RUN_COMMAND)
  cmake/configure/configure_3_petsc.cmake:129 (CONFIGURE_FEATURE)
  cmake/macros/macro_verbose_include.cmake:19 (INCLUDE)
  CMakeLists.txt:119 (VERBOSE_INCLUDE)


-- Configuring incomplete, errors occurred!
See also "/dealii-8.4.1-PETSc/build/CMakeFiles/CMakeOutput.log".
See also "/dealii-8.4.1-PETSc/build/CMakeFiles/CMakeError.log".

=======================================================================================================================
Originally I tried (and numerous other combinations):

sudo apt-get install libpetsc3.6.2-dev
and
sudo apt-get install libopenmpi-dev

all work well til:

make test

when a number of errors including:

/usr/lib/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_list_item_t_class'
/usr/lib/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_class_initialize'

CMakeFiles/Makefile2:3087: recipe for target 'tests/quick_tests/CMakeFiles/step.debug.dir/all' failed
CMakeFiles/Makefile2:3384: recipe for target 'tests/quick_tests/CMakeFiles/step.debug.run.dir/rule' failed
Makefile:1111: recipe for target 'step.debug.run' failed

CMakeFiles/Makefile2:3571: recipe for target 'tests/quick_tests/CMakeFiles/step.release.dir/all' failed

resulted.


sudo apt-get install libmpich-dev
with
sudo apt-get install libpetsc3.6.2-dev
also had problems

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

Pete Griffin

unread,
Jul 11, 2016, 11:58:25 AM7/11/16
to deal.II User Group
I have made another attempt at installing dealii 8.4.1 with PETSc and MPI

First I removed all PETSc and all mpi libraries from the system.

checking with:
  898  dpkg -l | grep petsc
  899  dpkg -l | grep mpi
petsc an openmpi and mpich and mpich2 were and are gone.


I used downloaded PETSc source and built with:

./configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich 
make PETSC_DIR=/home/pgriffin/Documents/Zipstore2/petsc-3.6.4 PETSC_ARCH=arch-linux2-c-debug all
make PETSC_DIR=/home/pgriffin/Documents/Zipstore2/petsc-3.6.4 PETSC_ARCH=arch-linux2-c-debug test
make PETSC_DIR=/home/pgriffin/Documents/Zipstore2/petsc-3.6.4 PETSC_ARCH=arch-linux2-c-debug streams NPMAX=1

ran:

cmake -DCMAKE_INSTALL_PREFIX=/home/pgriffin/mylibs/dealii-8.4.1-PETSc -DPETSC_DIR=/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug -DPETSC_ARCH=x86_64 -DDEAL_II_WITH_MPI=ON -DDEAL_II_WITH_PETSC=ON  ../

with

SET(MPI_C_LIBRARIES "/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpich.so;/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpi.so" CASHE STRING "")
SET(MPI_C_INCLUDE_PATH "/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/include" CASHE STRING "")

SET(MPI_CXX_LIBRARIES "/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpichcxx.so;/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpicxx.so" CASHE STRING "")
SET(MPI_CXX_INCLUDE_PATH "/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/include" CASHE STRING "")

SET(MPI_Fortran_LIBRARIES "/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpichf90.so" CASHE STRING "")
SET(MPI_Fortran_INCLUDE_PATH "/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/include" CASHE STRING "")

appended to setup_deal_ii.cmake.

I could only guess which were the MPI_C_LIBRARIES, MPI_CXX_LIBRARIES, MPI_Fortran_LIBRARIES which were required from the trail of errors I got. What is MPI_SEEK_SET?? is that on internal cmake variable?
===========================================================================================================================
The final error I got that is relavant was:

-- 
-- Include /home/pgriffin/Documents/Zipstore2/dealii-8.4.1-PETSc/cmake/configure/configure_1_mpi.cmake
-- Found MPI_C: /home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpich.so;/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpi.so;CASHE;STRING;  
-- Found MPI_CXX: /home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpichcxx.so;/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpicxx.so;CASHE;STRING;  
-- Found MPI_Fortran: /home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpichf90.so;CASHE;STRING;  
-- Performing Test MPI_HAVE_MPI_SEEK_SET
-- Performing Test MPI_HAVE_MPI_SEEK_SET - Failed
-- Found MPI_MPI_H
--   MPI_VERSION: 3.0
--   MPI_LIBRARIES: /home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpichcxx.so;/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpicxx.so;CASHE;STRING;/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpichf90.so;CASHE;STRING;/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpich.so;/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/lib/libmpi.so;CASHE;STRING
--   MPI_INCLUDE_DIRS: /home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/include;CASHE;STRING;/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/include;CASHE;STRING
--   MPI_USER_INCLUDE_DIRS: /home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/include;CASHE;STRING;/home/pgriffin/Documents/Zipstore2/petsc-3.6.4/arch-linux2-c-debug/include;CASHE;STRING
--   MPI_CXX_FLAGS: 
--   MPI_LINKER_FLAGS: 
-- Found MPI
-- Could not find a sufficient MPI version: Your MPI implementation must define MPI_SEEK_SET.
-- DEAL_II_WITH_MPI has unmet external dependencies.
CMake Error at cmake/configure/configure_1_mpi.cmake:38 (MESSAGE):
  

  Could not find any suitable mpi library!

  Your MPI implementation must define MPI_SEEK_SET.

  Please ensure that an mpi library is installed on your computer

  and set CMAKE_CXX_COMPILER to the appropriate mpi wrappers:

      $ CXX=".../mpicxx" cmake <...>
      $ cmake -DCMAKE_CXX_COMPILER=".../mpicxx" <...>

  Or with additional C and Fortran wrappers (recommended!):

      $ CC=".../mpicc" CXX=".../mpicxx" F90=".../mpif90" cmake <...>
      $ cmake -DCMAKE_C_COMPILER=".../mpicc"\
              -DCMAKE_CXX_COMPILER=".../mpicxx"\
              -DCMAKE_Fortran_COMPILER=".../mpif90"\
              <...>

Call Stack (most recent call first):
  build/CMakeFiles/CMakeTmp/macro_configure_feature.tmp:1 (FEATURE_MPI_ERROR_MESSAGE)
  cmake/macros/macro_configure_feature.cmake:76 (INCLUDE)
  cmake/macros/macro_configure_feature.cmake:272 (RUN_COMMAND)
  cmake/configure/configure_1_mpi.cmake:55 (CONFIGURE_FEATURE)
  cmake/macros/macro_verbose_include.cmake:19 (INCLUDE)
  CMakeLists.txt:119 (VERBOSE_INCLUDE)


-- Configuring incomplete, errors occurred!
See also "/home/pgriffin/Documents/Zipstore2/dealii-8.4.1-PETSc/build/CMakeFiles/CMakeOutput.log".
See also "/home/pgriffin/Documents/Zipstore2/dealii-8.4.1-PETSc/build/CMakeFiles/CMakeError.log".

David Wells

unread,
Jul 11, 2016, 8:54:17 PM7/11/16
to deal.II User Group
Hi there,

That error (MPI_SEEK_SET) *should* mean (I wrote the check) that the library cannot compile because you are missing something defined by, if I recall correctly, the MPI 2.0 standard: any version of MPI released in the last four or five years should have it. I am not sure why that, of all things, shows up and complains, but that means that CMake could not find your copy of MPI.

It should not be necessary to have those sorts of SET commands anywhere: the CMake scripts will set those variables up by inspecting the paths you passed in (related note: it should be CACHE not CASHE).

deal.II does not use the C++ MPI interface (I do not know of any project that does, for the record), so you can get away without setting anything for them.

I looked through the list of packages for 16.04 and it looks like libpetsc3.6.2-dev pulls in an MPI package as a dependency so installing just that through apt-get should suffice. What exactly was the error message when you tried just that?

Regardless, the library should just work with the latest Ubuntu release so this is an issue on our end. Thank you for reporting this.

Thanks,
David Wells

Wolfgang Bangerth

unread,
Jul 11, 2016, 10:42:56 PM7/11/16
to dea...@googlegroups.com

> deal.II does not use the C++ MPI interface (I do not know of any project that
> does, for the record),

Which is, I guess, why the MPI committee has deprecated them :-)

But back to the issue at hand:


> I used downloaded PETSc source and built with:
>
> ./configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich

That last flag is generally a bad idea. It makes PETSc download and install an
MPI version that may or may not conflict with any MPI package that is already
installed on the system. In any case, it is going to be installed into some
non-standard path where the remainder of the system will scratch its head
trying to find out whether there is or is not an MPI installation. I wished
the PETSc people just got rid of this option -- it has caused so many people
so much heartache.

The way to install MPI is through the system's package manage system. Any
distribution I can think of has either an openMPI or an mpich package. Either
is fine (but not trying to install both). Once you've installed one of them on
your system (via apt-get, zypper, or whatever package manager your system
uses), you can install PETSc as you were doing, but without --download-mpich.

Best
W.

--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@math.tamu.edu
www: http://www.math.tamu.edu/~bangerth/

Pete Griffin

unread,
Jul 12, 2016, 10:59:24 AM7/12/16
to deal.II User Group
The next step as per Wolfgang:

sudo apt-get install libopenmpi-dev

Attempting making PETCs-3.6.4 from source after deleting directory and unzipping source.

./configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --with-mpi-dir=/usr/lib/openmpi

===============================================================================
             Configuring PETSc to compile on your system                       
===============================================================================
TESTING: FortranMPICheck from config.packages.MPI(config/BuildSystem/config/packages/MPI.py:365)                            *******************************************************************************
         UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):
-------------------------------------------------------------------------------
Fortran error! mpi_init() could not be located!
*******************************************************************************

trying libmpich-dev

sudo apt-get install libmpich-dev                (12.1.0)

Reattempting making PETCs-3.6.4 from source after deleting directory and unzipping source.

./configure --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --with-mpi-dir=/usr/lib/mpich

===============================================================================
             Configuring PETSc to compile on your system                       
===============================================================================
TESTING: FortranMPICheck from config.packages.MPI(config/BuildSystem/config/packages/MPI.py:365)                            *******************************************************************************
         UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):
-------------------------------------------------------------------------------
Fortran error! mpi_init() could not be located!
*******************************************************************************

Giving up on making PETCs-3.6.4 from source
============================================================================================

sudo apt-get install petsc-dev     (3.6.2)

Expand dealii-8.4.1.tar.gz to dealii-8.4.1-PETSc
cd /dealii-8.4.1-PETSc
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/home/pgriffin/mylibs/dealii-8.4.1-PETSc -DDEAL_II_WITH_MPI=ON -DDEAL_II_WITH_PETSC=ON  ../
make -j8 install
make test

The results of the test are:

0% tests passed, 6 tests failed out of 6

Total Test time (real) =  92.47 sec

The following tests FAILED:
 1 - step.debug (Failed)
 2 - step.release (Failed)
 3 - affinity.debug (Failed)
 4 - mpi.debug (Failed)
 5 - tbb.debug (Failed)
 6 - step-petsc.debug (Failed)
Errors while running CTest

all of the errors are of the form:

/usr/lib/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_list_item_t_class'
/usr/lib/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_class_initialize'
CMakeFiles/Makefile2:3506: recipe for target 'tests/quick_tests/CMakeFiles/step-petsc.debug.dir/all' failed
CMakeFiles/Makefile2:3545: recipe for target 'tests/quick_tests/CMakeFiles/step-petsc.debug.run.dir/rule' failed

============================================================================================
Attempting with mpich-dev

Expand dealii-8.4.1.tar.gz to dealii-8.4.1-PETSc
cd /dealii-8.4.1-PETSc
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/home/pgriffin/mylibs/dealii-8.4.1-PETSc -DMPI_DIR=/usr/lib/mpich -DMPI_ARCH=x86_64 -DDEAL_II_WITH_MPI=ON -DDEAL_II_WITH_PETSC=ON  ../

-DMPI_DIR=/usr/lib/mpich does not seem to override dealii install script from using openmpi-dev, see attached with_mpich.txt.

The mpich libraries are in /usr/lib with a link to them in /usr/lib/mpich. However the openmpi-dev libs are not in /usr/lib.

The script is using in /usr/lib/openmpi, there are no links in /usr/lib/openmpi.

-DMPI_DIR=/usr/lib/mpich -DMPI_ARCH=x86_64 does not appear to be working to override openmpi.

Is my inteperetation of the instructions correct, or do I have to remove openmpi-dev.

 don't necessarily need it for what I'm doing put could have for something else the way everything doesn't work well together.

Thanks again
Pete Griffin


On Sunday, July 10, 2016 at 10:54:54 PM UTC-4, Pete Griffin wrote:
with_mpich.txt

Wolfgang Bangerth

unread,
Jul 12, 2016, 11:05:11 AM7/12/16
to dea...@googlegroups.com
On 07/12/2016 09:59 AM, Pete Griffin wrote:
>
> sudo apt-get install libopenmpi-dev
> sudo apt-get install libmpich-dev (12.1.0)

This may not get all of the MPI libraries, but only the development
parts (e.g., the header files, etc). Is there no package simply called
"openmpi" or "mpich"?


> Is my inteperetation of the instructions correct, or do I have to
> remove openmpi-dev.

I'd try to start from as clean a slate as possible every time.

Pete Griffin

unread,
Jul 12, 2016, 6:55:11 PM7/12/16
to deal.II User Group
Wolfgang:

I installed:
sudo apt-get install libpetsc
sudo apt-get install petsc*
and
sudo apt-get install libopenlib
sudo apt-get install openlib*

I did not remove mpich since I assume since dealii was so specific in requiring the path info it shouldn't matter.

MPIhello world works ok.
gcc MPI-hello.c -I/usr/lib/openmpi/include /usr/lib/openmpi/lib/libmpi.so -o MPI-hello
./MPI-hello 
Hello world from processor Ubuntu3, rank 0 out of 1 processors

I also have 7 questions relevant to future attempts at solving this problem. They are numbered below...

I ensured all the petsc and openmpi files as listed above were installed. I think they
probably were before to since the rest of the tests are the same. 1) Are there any others
required that you know of?

Expand dealii-8.4.1.tar.gz to dealii-8.4.1-PETSc
cd /dealii-8.4.1-PETSc
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/home/pgriffin/mylibs/dealii-8.4.1-PETSc -DDEAL_II_WITH_MPI=ON -DDEAL_II_WITH_PETSC=ON  ../
make -j8 install

This seemed to go O.K. as always for the non-compiled version. Screen config results are attached in DealiiConfigWithPETScOpenmpi.txt.

then

make test

I again as before got the following error (below) when running the dealii tests:

===============< The dealii test error >========================

The results of the test are:

0% tests passed, 6 tests failed out of 6

Total Test time (real) =  92.47 sec

The following tests FAILED:
 1 - step.debug (Failed)
 2 - step.release (Failed)
 3 - affinity.debug (Failed)
 4 - mpi.debug (Failed)
 5 - tbb.debug (Failed)
 6 - step-petsc.debug (Failed)
Errors while running CTest

all of the errors are of the form:

/usr/lib/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_list_item_t_class'
/usr/lib/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_class_initialize'
CMakeFiles/Makefile2:3506: recipe for target 'tests/quick_tests/CMakeFiles/step-petsc.debug.dir/all' failed
CMakeFiles/Makefile2:3545: recipe for target 'tests/quick_tests/CMakeFiles/step-petsc.debug.run.dir/rule' failed

Complete screen results for test error in attached file DealiiTestWithPETScOpenmpi.txt.

2) Is this problem a dealii issue or should I contact petsc and/or openmpi development team, if mpich doesn't work.

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

I saw another person had the same error under UBUNTU 16.04 used mpich and was successful.

But as I said dealii refuses to find mpich and only sees openmpi.

I tried to override using:

cmake -DCMAKE_INSTALL_PREFIX=/home/pgriffin/mylibs/dealii-8.4.1-PETSc -DMPI_DIR=/usr/lib/mpich -DMPI_ARCH=x86_64 -DDEAL_II_WITH_MPI=ON -DDEAL_II_WITH_PETSC=ON  ../

3) Is this was the correct syntax to select an alternate MPI lib. My interpretation of the documentation is yes.

I next attempted to remove openmpi but that also removed petsc-dev, Why I don't know they
can certainly be loaded separately but adding petsc-dev brought back openmpi.

4) I don't even know if petsc-dev... will work with mpich do you?
5) Is -DMPI_DIR=/usr/lib/mpich the correct way to select an alternate MPI library?
6) If it isn't correct and I still cannot remove openmpi without removing petsc do you think  could rename the openmpi directory?
7) In general after installing or removing a package is a reboot required? I have never encountered a need in the past so I didn't. 

Again In all cases I remove the entire dealii directory and unpack the dealii-8.4.1.tar.gz file again, etc...

Thanks again!
Pete Griffin


On Sunday, July 10, 2016 at 10:54:54 PM UTC-4, Pete Griffin wrote:
DealiiConfigWithPETScOpenmpi.txt
DealiiTestWithPETScOpenmpi.txt

Martin Kronbichler

unread,
Jul 13, 2016, 3:26:20 AM7/13/16
to dea...@googlegroups.com
Dear Pete,

Let me just focus on two of your questions.

The first one is related to the OpenMPI installation on Ubuntu 16.04 (and maybe other packages). You should not need more packages than what you list. However, it appears that the software shipped by Ubuntu is buggy. I can reproduce your error messages on my system (4.4.0-28-generic #47-Ubuntu SMP Fri Jun 24 10:09:13 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux):
$ cat test.cc
    int main() {}
$ mpicxx -fuse-ld=gold test.cc

/usr/lib/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_list_item_t_class'
/usr/lib/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_class_initialize'
collect2: error: ld returned 1 exit status

This clearly is a bug in the OpenMPI implementation shipped by Ubuntu 16.04. I think someone should open a bug on the Ubuntu (or Debian?) bug tracker but I lack the time to do so right now...

However, it only appears when using the gold linker. If one disables the gold linker, everything works fine.
$ mpicxx test.cc
$

Pete, can you try to go to the file "cmake/checks/check_01_compiler_features.cmake" in the deal.II source directory, search for the line
  ADD_FLAGS(DEAL_II_LINKER_FLAGS "-fuse-ld=gold")
(it should be at the very end of that file), comment it out, and try to build again with OpenMPI?

I think using the gold linker on this configuration is a bug in the MPI detection of deal.II (we really should use all compile and link flags). I have opened an issue here:
https://github.com/dealii/dealii/issues/2820

Regarding using MPICH on Ubuntu: I once tried to use that instead of OpenMPI but it is not really straight-forward. I think many other Debian packages rely on OpenMPI, so my experience is that you cannot really avoid to have both MPI packages installed. The only way for me to get MPICH to work rather than OpenMPI was to put symbolic links to MPICH in my PATH before the system paths, i.e., not really an elegant solution. (BTW: I cannot really recommend MPICH because my experience was that it got miserably slow if the MPI is over-allocated, i.e., more MPI processes than CPUs on my system. While you will not usually use this for production runs, I was not able to run the deal.II test suite in a reasonable time frame.)

Best,
Martin
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Pete Griffin

unread,
Jul 13, 2016, 11:04:58 AM7/13/16
to deal.II User Group
Thanks All!

Martin, after I commented out the line "ADD_FLAGS(DEAL_II_LINKER_FLAGS "-fuse-ld=gold")" in "cmake/checks/check_01_compiler_features.cmake", make test, worked. I ran step-17 and saw the speed improvement.
 
I will try (haven't done it before) to open a bug report on UBUNTU.

I will include your comments, as below, unless I hear from you otherwise.
I'm sure you have defined the problem better than I could!

===========================================================================================
... I can reproduce your error messages on my system (4.4.0-28-generic #47-Ubuntu SMP Fri Jun 24 10:09:13 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux):
$ cat test.cc
    int main() {}
$ mpicxx -fuse-ld=gold test.cc
/usr/lib/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_list_item_t_class'
/usr/lib/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_class_initialize'
collect2: error: ld returned 1 exit status

This clearly is a bug in the OpenMPI implementation shipped by Ubuntu 16.04. I think someone should open a bug on the Ubuntu (or Debian?) bug tracker but I lack the time to do so right now...

However, it only appears when using the gold linker. If one disables the gold linker, everything works fine.
$ mpicxx test.cc
$
=============================================================================================

Pete Griffin


On Sunday, July 10, 2016 at 10:54:54 PM UTC-4, Pete Griffin wrote:

Martin Kronbichler

unread,
Jul 13, 2016, 11:29:45 AM7/13/16
to dea...@googlegroups.com
Hi Pete,

I'm glad that it works. You may include my comments, the first line is the output of 'uname -srv' regarding my system information FYI.

Thanks!

Best,
Martin
Reply all
Reply to author
Forward
0 new messages