Dear everyone,
I already have 9.0 installed via SPACK, through which all the required
external libraries are installed and consequently recognized by deal.II. I
recently tried to migrate to version 9.2 (while keeping 9.0). It was
installed through regular procedures described in the README file. However
the new version doesn't recognize libraries that are already available on
the machine. It was tested through step-18 and as an instance one
particular error I received was "‘PETScWrappers’ does not name a type".
I didn't compile deal.II with PETSc ON during library installation. However
in step-18 configuration, I passed following arguments to cmake:
-DDEAL_II_WITH_PETSC=ON
-DPETSC_DIR=/home/behrooz/Spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.3.0/petsc-3.10.3-4w55lkacqsfyidojpbouvm6gmadidcnn
-DPETSC_ARCH=arch-linux2-c-opt (a Python file!). I received
"Manually-specified variables were not used by the project" (Apparently not
updated).
Additionally I added the PETSC_DIR to the bashrc file. Besides, though not
a proper way, having deal.IIcmake.config files of 9.0, I even manipulated
correspondings in 9.2 (were then returned to original state). The compiler
was also changed.
But, none of them worked! Can anyone kindly point out the problem/solution?
For more details config.h and detailed.log files are attached.
Thank you very much,
Behrooz
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/CAPPKNqYRWqFqPtpMokZsjrFxsCuDK8fVGeHkfA7Mp1nrRd2j7g%40mail.gmail.com.
###
#
# deal.II configuration:
# CMAKE_BUILD_TYPE: DebugRelease
# BUILD_SHARED_LIBS: ON
# CMAKE_INSTALL_PREFIX: /home/behrooz/dealii-9.2.0/installed
# CMAKE_SOURCE_DIR: /home/behrooz/dealii-9.2.0/source/dealii-9.2.0
# (version 9.2.0)
# CMAKE_BINARY_DIR: /home/behrooz/dealii-9.2.0/build
# CMAKE_CXX_COMPILER: GNU 7.4.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++17
# 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_VECTORIZATION_WIDTH_IN_BITS: 128
#
# 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/behrooz/dealii-9.2.0/source/dealii-9.2.0/bundled/boost-1.70.0/include
# BOOST_LIBRARIES = rt
# DEAL_II_WITH_COMPLEX_VALUES = ON
# ( DEAL_II_WITH_CUDA = OFF )
# DEAL_II_WITH_CXX14 = ON
# DEAL_II_WITH_CXX17 = ON
# ( DEAL_II_WITH_GINKGO = OFF )
# DEAL_II_WITH_GMSH set up with external dependencies
# GMSH_EXE = /usr/bin/gmsh
# ( DEAL_II_WITH_GSL = OFF )
# ( DEAL_II_WITH_HDF5 = OFF )
# DEAL_II_WITH_LAPACK set up with external dependencies
# LAPACK_WITH_64BIT_BLAS_INDICES = OFF
# LAPACK_LINKER_FLAGS =
# LAPACK_INCLUDE_DIRS =
# LAPACK_USER_INCLUDE_DIRS =
# LAPACK_LIBRARIES = /usr/lib/x86_64-linux-gnu/libopenblas.so;gfortran;quadmath;m;c;gcc_s;gcc
# ( DEAL_II_WITH_METIS = OFF )
# ( DEAL_II_WITH_MPI = OFF )
# DEAL_II_WITH_MUPARSER set up with bundled packages
# MUPARSER_BUNDLED_INCLUDE_DIRS = /home/behrooz/dealii-9.2.0/source/dealii-9.2.0/bundled/muparser_v2_2_4//include
# ( DEAL_II_WITH_NANOFLANN = OFF )
# ( DEAL_II_WITH_NETCDF = OFF )
# DEAL_II_WITH_OPENCASCADE set up with external dependencies
# OPENCASCADE_VERSION = 6.9.1
# OPENCASCADE_INCLUDE_DIRS = /usr/include/oce
# OPENCASCADE_USER_INCLUDE_DIRS = /usr/include/oce
# OPENCASCADE_LIBRARIES = /usr/lib/x86_64-linux-gnu/libTKBO.so;/usr/lib/x86_64-linux-gnu/libTKBool.so;/usr/lib/x86_64-linux-gnu/libTKBRep.so;/usr/lib/x86_64-linux-gnu/libTKernel.so;/usr/lib/x86_64-linux-gnu/libTKFeat.so;/usr/lib/x86_64-linux-gnu/libTKFillet.so;/usr/lib/x86_64-linux-gnu/libTKG2d.so;/usr/lib/x86_64-linux-gnu/libTKG3d.so;/usr/lib/x86_64-linux-gnu/libTKGeomAlgo.so;/usr/lib/x86_64-linux-gnu/libTKGeomBase.so;/usr/lib/x86_64-linux-gnu/libTKHLR.so;/usr/lib/x86_64-linux-gnu/libTKIGES.so;/usr/lib/x86_64-linux-gnu/libTKMath.so;/usr/lib/x86_64-linux-gnu/libTKMesh.so;/usr/lib/x86_64-linux-gnu/libTKOffset.so;/usr/lib/x86_64-linux-gnu/libTKPrim.so;/usr/lib/x86_64-linux-gnu/libTKShHealing.so;/usr/lib/x86_64-linux-gnu/libTKSTEP.so;/usr/lib/x86_64-linux-gnu/libTKSTEPAttr.so;/usr/lib/x86_64-linux-gnu/libTKSTEPBase.so;/usr/lib/x86_64-linux-gnu/libTKSTEP209.so;/usr/lib/x86_64-linux-gnu/libTKSTL.so;/usr/lib/x86_64-linux-gnu/libTKTopAlgo.so;/usr/lib/x86_64-linux-gnu/libTKXSBase.so
# ( DEAL_II_WITH_P4EST = OFF )
# ( DEAL_II_WITH_PETSC = OFF )
# ( DEAL_II_WITH_SCALAPACK = OFF )
# ( DEAL_II_WITH_SLEPC = OFF )
# ( DEAL_II_WITH_SUNDIALS = OFF )
# ( DEAL_II_WITH_SYMENGINE = OFF )
# DEAL_II_WITH_THREADS set up with bundled packages
# TBB_VERSION = bundled
# THREADS_CXX_FLAGS = -Wno-parentheses
# THREADS_LINKER_FLAGS = -pthread
# THREADS_DEFINITIONS_DEBUG = TBB_USE_DEBUG;TBB_DO_ASSERT=1
# THREADS_USER_DEFINITIONS_DEBUG = TBB_USE_DEBUG;TBB_DO_ASSERT=1
# THREADS_BUNDLED_INCLUDE_DIRS = /home/behrooz/dealii-9.2.0/source/dealii-9.2.0/bundled/tbb-2018_U2/include
# THREADS_LIBRARIES = dl
# ( DEAL_II_WITH_TRILINOS = OFF )
# 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/x86_64-linux-gnu/libopenblas.so;gfortran;quadmath;m;c;gcc_s;gcc;rt
# DEAL_II_WITH_ZLIB set up with external dependencies
# ZLIB_VERSION = 1.2.11
# 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 )
#
###
// ---------------------------------------------------------------------
//
// Copyright (C) 2012 - 2020 by the deal.II authors
//
// This file is part of the deal.II library.
//
// The deal.II library is free software; you can use it, redistribute
// it, and/or modify it under the terms of the GNU Lesser General
// Public License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
// The full text of the license can be found in the file LICENSE.md at
// the top level directory of deal.II.
//
// ---------------------------------------------------------------------
#ifndef dealii_config_h
#define dealii_config_h
/***********************************************************************
* Information about deal.II:
*/
#define DEAL_II_PACKAGE_NAME "deal.II"
#define DEAL_II_PACKAGE_VERSION "9.2.0"
#define DEAL_II_VERSION_MAJOR 9
#define DEAL_II_VERSION_MINOR 2
#define DEAL_II_VERSION_SUBMINOR 0
/***********************************************************************
* Configured deal.II features:
*/
/* #undef DEAL_II_WITH_64BIT_INDICES */
/* #undef DEAL_II_WITH_ADOLC */
/* #undef DEAL_II_WITH_ARPACK */
/* #undef DEAL_II_WITH_ASSIMP */
#define DEAL_II_WITH_COMPLEX_VALUES
/* #undef DEAL_II_WITH_CUDA */
#define DEAL_II_WITH_CXX14
#define DEAL_II_WITH_CXX17
/* #undef DEAL_II_WITH_GINKGO */
/* #undef DEAL_II_WITH_GSL */
#define DEAL_II_WITH_GMSH
/* #undef DEAL_II_WITH_HDF5 */
#define DEAL_II_WITH_LAPACK
/* #undef LAPACK_WITH_64BIT_BLAS_INDICES */
/* #undef DEAL_II_LAPACK_WITH_MKL */
/* #undef DEAL_II_WITH_METIS */
/* #undef DEAL_II_WITH_MPI */
#define DEAL_II_WITH_MUPARSER
/* #undef DEAL_II_WITH_NANOFLANN */
/* #undef DEAL_II_WITH_NETCDF */
#define DEAL_II_WITH_OPENCASCADE
/* #undef DEAL_II_WITH_P4EST */
/* #undef DEAL_II_WITH_PETSC */
/* #undef DEAL_II_WITH_SCALAPACK */
/* #undef DEAL_II_WITH_SLEPC */
/* #undef DEAL_II_WITH_SUNDIALS */
/* #undef DEAL_II_WITH_SYMENGINE */
#define DEAL_II_WITH_THREADS
/* #undef DEAL_II_WITH_TRILINOS */
#define DEAL_II_WITH_UMFPACK
#define DEAL_II_WITH_ZLIB
// defined for backwards compatibility with pre-C++11
#define DEAL_II_WITH_CXX11
#define DEAL_II_NOEXCEPT noexcept
/***********************************************************************
* Compiler bugs:
*
* For documentation see cmake/checks/check_03_compiler_bugs.cmake
*/
/* #undef DEAL_II_TEMPL_SPEC_FRIEND_BUG */
/* #undef DEAL_II_MEMBER_ARRAY_SPECIALIZATION_BUG */
/* #undef DEAL_II_CONST_MEMBER_DEDUCTION_BUG */
/* #undef DEAL_II_BIND_NO_CONST_OP_PARENTHESES */
/* #undef DEAL_II_CONSTEXPR_BUG */
/***********************************************************************
* Compiler features:
*
* For documentation see cmake/checks/check_01_compiler_features.cmake
*/
#define DEAL_II_COMPILER_USE_VECTOR_ARITHMETICS
/* #undef DEAL_II_VECTOR_ITERATOR_IS_POINTER */
#define DEAL_II_HAVE_BUILTIN_EXPECT
#define DEAL_II_HAVE_GLIBC_STACKTRACE
#define DEAL_II_HAVE_LIBSTDCXX_DEMANGLER
/* #undef __PRETTY_FUNCTION__ */
#define DEAL_II_DEPRECATED [[deprecated]]
#define DEAL_II_ALWAYS_INLINE __attribute__((always_inline))
#define DEAL_II_RESTRICT __restrict
#define DEAL_II_COMPILER_HAS_DIAGNOSTIC_PRAGMA
#define DEAL_II_CONSTEXPR constexpr
/*
* A variable to tell if the compiler used in the current compilation process
* understands CUDA code.
*/
#if defined(DEAL_II_WITH_CUDA) && defined(__CUDACC__)
# define DEAL_II_COMPILER_CUDA_AWARE
#endif
/***********************************************************************
* CPU features:
*
* For documentation see cmake/checks/check_01_cpu_features.cmake
*/
/* #undef DEAL_II_WORDS_BIGENDIAN */
/*
* This sets the largest number of vectorization bits detected for the given
* compiler flags and hardware (e.g. 256 for AVX on x86-64 architectures) for
* use in deal.II's instrinsics-based VectorizedArray class.
*/
#define DEAL_II_VECTORIZATION_WIDTH_IN_BITS 128
/*
* Backward compatibility setting
*/
#if DEAL_II_VECTORIZATION_WIDTH_IN_BITS == 512
#define DEAL_II_COMPILER_VECTORIZATION_LEVEL 3
#elif DEAL_II_VECTORIZATION_WIDTH_IN_BITS == 256
#define DEAL_II_COMPILER_VECTORIZATION_LEVEL 2
#elif DEAL_II_VECTORIZATION_WIDTH_IN_BITS == 128
#define DEAL_II_COMPILER_VECTORIZATION_LEVEL 1
#else
#define DEAL_II_COMPILER_VECTORIZATION_LEVEL 0
#endif
#define DEAL_II_OPENMP_SIMD_PRAGMA _Pragma("omp simd")
/***********************************************************************
* Language features:
*
* For documentation see cmake/checks/check_01_cxx_features.cmake
*/
#define DEAL_II_HAVE_CXX11_IS_TRIVIALLY_COPYABLE
#define DEAL_II_HAVE_CXX14_CONSTEXPR
#define DEAL_II_HAVE_FP_EXCEPTIONS
/* #undef DEAL_II_HAVE_COMPLEX_OPERATOR_OVERLOADS */
#define DEAL_II_FALLTHROUGH [[fallthrough]]
/***********************************************************************
* System features:
*
* For documentation see cmake/checks/check_02_system_features.cmake
*/
#define DEAL_II_HAVE_SYS_RESOURCE_H
#define DEAL_II_HAVE_UNISTD_H
#define DEAL_II_HAVE_GETHOSTNAME
#define DEAL_II_HAVE_GETPID
/* #undef DEAL_II_HAVE_JN */
/* #undef DEAL_II_MSVC */
/***********************************************************************
* Feature configuration
*
* For documentation see cmake/configure/configure_*.cmake and
* cmake/modules/Find*.cmake
*/
/* cmake/modules/FindADOLC.cmake */
/* #undef DEAL_II_ADOLC_WITH_ATRIG_ERF */
/* #undef DEAL_II_ADOLC_WITH_ADVANCED_BRANCHING */
/* #undef DEAL_II_ADOLC_WITH_TAPELESS_REFCOUNTING */
/* cmake/modules/FindARPACK.cmake */
/* #undef DEAL_II_ARPACK_WITH_PARPACK */
/* cmake/modules/FindPETSC.cmake */
/* #undef DEAL_II_PETSC_WITH_COMPLEX */
/* #undef DEAL_II_PETSC_WITH_HYPRE */
/* #undef DEAL_II_PETSC_WITH_MUMPS */
/* cmake/modules/FindSUNDIALS.cmake */
/* #undef DEAL_II_SUNDIALS_WITH_IDAS */
/* cmake/modules/FindSYMENGINE.cmake */
/* #undef DEAL_II_SYMENGINE_WITH_LLVM */
/* cmake/configure/configure_1_threads.cmake */
#define DEAL_II_USE_MT_POSIX
/* #undef DEAL_II_USE_MT_POSIX_NO_BARRIERS */
/* cmake/configure/configure_2_trilinos.cmake */
/* #undef DEAL_II_TRILINOS_CXX_SUPPORTS_SACADO_COMPLEX_RAD */
/* #undef DEAL_II_TRILINOS_WITH_EPETRAEXT */
/* #undef DEAL_II_TRILINOS_WITH_ROL */
/* #undef DEAL_II_TRILINOS_WITH_SACADO */
/* #undef DEAL_II_TRILINOS_WITH_TPETRA */
/* #undef DEAL_II_TRILINOS_WITH_MUELU */
/* #undef DEAL_II_TRILINOS_WITH_ZOLTAN */
/***********************************************************************
* Various macros for version number query and comparison:
*
* These macros are defined to make testing for specific versions within
* the deal.II main code as simple as possible.
*/
/*
* deal.II:
*/
#define DEAL_II_VERSION_GTE(major,minor,subminor) \
((DEAL_II_VERSION_MAJOR * 10000 + \
DEAL_II_VERSION_MINOR * 100 + \
DEAL_II_VERSION_SUBMINOR) \
>= \
(major)*10000 + (minor)*100 + (subminor))
/*
* Gmsh:
*/
#ifdef DEAL_II_WITH_GMSH
# define DEAL_II_GMSH_EXECUTABLE_PATH "/usr/bin/gmsh"
#endif
/*
* p4est:
*/
#ifdef DEAL_II_WITH_P4EST
# define DEAL_II_P4EST_VERSION_MAJOR
# define DEAL_II_P4EST_VERSION_MINOR
# define DEAL_II_P4EST_VERSION_SUBMINOR
# define DEAL_II_P4EST_VERSION_PATCH
# define DEAL_II_P4EST_VERSION_GTE(major,minor,subminor,patch) \
((DEAL_II_P4EST_VERSION_MAJOR * 1000000 + \
DEAL_II_P4EST_VERSION_MINOR * 10000 + \
DEAL_II_P4EST_VERSION_SUBMINOR * 100 + \
DEAL_II_P4EST_VERSION_PATCH) \
>= \
(major)*1000000 + (minor)*10000 + (subminor)*100 + (patch))
#endif
/*
* SUNDIALS:
*/
#ifdef DEAL_II_WITH_SUNDIALS
# define DEAL_II_SUNDIALS_VERSION_MAJOR 0
# define DEAL_II_SUNDIALS_VERSION_MINOR 0
# define DEAL_II_SUNDIALS_VERSION_PATCH 0
#define DEAL_II_SUNDIALS_VERSION_GTE(major,minor,patch) \
((DEAL_II_SUNDIALS_VERSION_MAJOR * 10000 + \
DEAL_II_SUNDIALS_VERSION_MINOR * 100 + \
DEAL_II_SUNDIALS_VERSION_PATCH) \
>= \
(major)*10000 + (minor)*100 + (patch))
#define DEAL_II_SUNDIALS_VERSION_LT(major,minor,patch) \
((DEAL_II_SUNDIALS_VERSION_MAJOR * 10000 + \
DEAL_II_SUNDIALS_VERSION_MINOR * 100 + \
DEAL_II_SUNDIALS_VERSION_PATCH) \
< \
(major)*10000 + (minor)*100 + (patch))
#endif
/*
* PETSc:
*
* Note: The following definitions will be set in petscconf.h and
* petscversion.h, so we don't repeat them here.
*
* PETSC_VERSION_MAJOR
* PETSC_VERSION_MINOR
* PETSC_VERSION_SUBMINOR
* PETSC_VERSION_PATCH
* PETSC_VERSION_RELEASE
* PETSC_USE_COMPLEX
*/
#define DEAL_II_PETSC_VERSION_LT(major,minor,subminor) \
((PETSC_VERSION_MAJOR * 10000 + \
PETSC_VERSION_MINOR * 100 + \
PETSC_VERSION_SUBMINOR) \
< \
(major)*10000 + (minor)*100 + (subminor))
#define DEAL_II_PETSC_VERSION_GTE(major,minor,subminor) \
((PETSC_VERSION_MAJOR * 10000 + \
PETSC_VERSION_MINOR * 100 + \
PETSC_VERSION_SUBMINOR) \
>= \
(major)*10000 + (minor)*100 + (subminor))
/*
* SLEPC
* see slepcversion.h
*/
#define DEAL_II_SLEPC_VERSION_GTE(major,minor,subminor) \
((SLEPC_VERSION_MAJOR * 10000 + \
SLEPC_VERSION_MINOR * 100 + \
SLEPC_VERSION_SUBMINOR) \
>= \
(major)*10000 + (minor)*100 + (subminor))
/*
* Trilinos:
*/
#ifdef DEAL_II_WITH_TRILINOS
# define DEAL_II_TRILINOS_VERSION_MAJOR
# define DEAL_II_TRILINOS_VERSION_MINOR
# define DEAL_II_TRILINOS_VERSION_SUBMINOR
# define DEAL_II_TRILINOS_VERSION_GTE(major,minor,subminor) \
((DEAL_II_TRILINOS_VERSION_MAJOR * 10000 + \
DEAL_II_TRILINOS_VERSION_MINOR * 100 + \
DEAL_II_TRILINOS_VERSION_SUBMINOR) \
>= \
(major)*10000 + (minor)*100 + (subminor))
#endif
/*
* MPI
*/
#ifdef DEAL_II_WITH_MPI
# define DEAL_II_MPI_VERSION_MAJOR
# define DEAL_II_MPI_VERSION_MINOR
# define DEAL_II_MPI_VERSION_GTE(major,minor) \
((DEAL_II_MPI_VERSION_MAJOR * 100 + \
DEAL_II_MPI_VERSION_MINOR) \
>= \
(major)*100 + (minor))
#endif
/* #undef DEAL_II_MPI_WITH_CUDA_SUPPORT */
/***********************************************************************
* Two macro names that we put at the top and bottom of all deal.II files
* and that will be expanded to "namespace dealii {" and "}".
*/
#define DEAL_II_NAMESPACE_OPEN namespace dealii {
#define DEAL_II_NAMESPACE_CLOSE }
/***********************************************************************
* Two macros to guard external header includes.
*
* Selectively disable diagnostics set by "-Wextra" (and similar flags) for
* GCC and compiler accepting GCC dialects (such as clang).
* "diagnostic push" is supported since gcc-4.6 and clang-3.3.
*/
#ifdef DEAL_II_COMPILER_HAS_DIAGNOSTIC_PRAGMA
/* keep pragmas with an exclamation mark in order.. */
# define DEAL_II_DISABLE_EXTRA_DIAGNOSTICS \
_Pragma("GCC diagnostic push") /*!*/ \
_Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") /*!*/ \
_Pragma("GCC diagnostic ignored \"-Wpragmas\"") /*!*/ \
_Pragma("GCC diagnostic ignored \"-Wunknown-warning-option\"") /*!*/ \
_Pragma("GCC diagnostic ignored \"-Wunknown-warning\"") /*!*/ \
_Pragma("GCC diagnostic ignored \"-Wextra\"") /*!*/ \
_Pragma("GCC diagnostic ignored \"-Waddress-of-packed-member\"") \
_Pragma("GCC diagnostic ignored \"-Wdeprecated-copy\"") \
_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
_Pragma("GCC diagnostic ignored \"-Wexpansion-to-defined\"") \
_Pragma("GCC diagnostic ignored \"-Wexpansion-to-defined\"") \
_Pragma("GCC diagnostic ignored \"-Wignored-attributes\"") \
_Pragma("GCC diagnostic ignored \"-Wignored-qualifiers\"") \
_Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"") \
_Pragma("GCC diagnostic ignored \"-Winfinite-recursion\"") \
_Pragma("GCC diagnostic ignored \"-Wint-in-bool-context\"") \
_Pragma("GCC diagnostic ignored \"-Wmisleading-indentation\"") \
_Pragma("GCC diagnostic ignored \"-Wmissing-field-initializers\"") \
_Pragma("GCC diagnostic ignored \"-Wnested-anon-types\"") \
_Pragma("GCC diagnostic ignored \"-Wnon-virtual-dtor\"") \
_Pragma("GCC diagnostic ignored \"-Woverflow\"") \
_Pragma("GCC diagnostic ignored \"-Woverloaded-virtual\"") \
_Pragma("GCC diagnostic ignored \"-Wpedantic\"") \
_Pragma("GCC diagnostic ignored \"-Wsuggest-override\"") \
_Pragma("GCC diagnostic ignored \"-Wtautological-constant-out-of-range-compare\"") \
_Pragma("GCC diagnostic ignored \"-Wtautological-overlap-compare\"") \
_Pragma("GCC diagnostic ignored \"-Wtype-limits\"") \
_Pragma("GCC diagnostic ignored \"-Wundef\"") \
_Pragma("GCC diagnostic ignored \"-Wunused-but-set-parameter\"") \
_Pragma("GCC diagnostic ignored \"-Wunused-but-set-variable\"") \
_Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
_Pragma("GCC diagnostic ignored \"-Wunused-parameter\"") \
_Pragma("GCC diagnostic ignored \"-Wunused-private-field\"") \
_Pragma("GCC diagnostic ignored \"-Wunused-variable\"") \
_Pragma("GCC diagnostic warning \"-Wpragmas\"") /*!*/
# define DEAL_II_ENABLE_EXTRA_DIAGNOSTICS \
_Pragma("GCC diagnostic pop")
#else
# define DEAL_II_DISABLE_EXTRA_DIAGNOSTICS
# define DEAL_II_ENABLE_EXTRA_DIAGNOSTICS
#endif
/***********************************************************************
* Define a portable preprocessor macro that generates custom warnings
* reporting the line and the file where the warning appears. Taken from:
* http://goodliffe.blogspot.com/2009/07/c-how-to-say-warning-to-visual-studio-c.html
*/
#ifdef _MSC_VER
#define DEAL_II_STRINGIZE_HELPER(x) #x
#define DEAL_II_STRINGIZE(x) DEAL_II_STRINGIZE_HELPER(x)
#define DEAL_II_DO_PRAGMA(x) __pragma(x)
#define DEAL_II_WARNING(desc) DEAL_II_DO_PRAGMA(message(__FILE__ "(" DEAL_II_STRINGIZE(__LINE__) ") : warning: " #desc))
#else
#define DEAL_II_DO_PRAGMA(x) _Pragma(#x)
#define DEAL_II_WARNING(desc) DEAL_II_DO_PRAGMA(message(#desc))
#endif
/***********************************************************************
* Final inclusions:
*/
/*
* Some systems require including mpi.h before stdio.h which happens in
* types.h
*/
#if defined(DEAL_II_WITH_MPI) || defined(DEAL_II_WITH_PETSC)
DEAL_II_DISABLE_EXTRA_DIAGNOSTICS
# include <mpi.h>
DEAL_II_ENABLE_EXTRA_DIAGNOSTICS
#endif
#include <deal.II/base/numbers.h>
#include <deal.II/base/types.h>
#endif