Panzer: fails building with macports' clang 5.0.1
Created by: armarkos
I am building Trilinos on Mac 10.11.6 using the macports' clang 5.0.1. I also use the most recent version of boost from the macports.
Current Behavior
Build is successful with -D Panzer_ENABLE_TESTS:BOOL=OFF
, but the user app (EMPIRE) fails to use Panzer. When build with -D Panzer_ENABLE_TESTS:BOOL=ON
the following errors are produced during the build:
Scanning dependencies of target PanzerDiscFE_material_model_entry
In file included from /Users/x/aproj/lib_src/Trilinos/packages/panzer/dof-mgr/test/cartesian_topology/CartesianConnManager.cpp:46:
/Users/x/aproj/lib_src/Trilinos/packages/panzer/dof-mgr/test/cartesian_topology/CartesianConnManager_impl.hpp:313:1: error: missing 'typename' prior to
dependent type template name 'CartesianConnManager<LocalOrdinal, GlobalOrdinal>::Triplet'
CartesianConnManager<LocalOrdinal,GlobalOrdinal>::Triplet<int>
^
/Users/x/aproj/lib_src/Trilinos/packages/panzer/dof-mgr/test/cartesian_topology/CartesianConnManager_impl.hpp:341:1: error: missing 'typename' prior to
dependent type template name 'CartesianConnManager<LocalOrdinal, GlobalOrdinal>::Triplet'
CartesianConnManager<LocalOrdinal,GlobalOrdinal>::Triplet<GlobalOrdinal>
^
In file included from /Users/x/aproj/lib_src/Trilinos/packages/panzer/dof-mgr/test/cartesian_topology/CartesianConnManager.cpp:46:
/Users/x/aproj/lib_src/Trilinos/packages/panzer/dof-mgr/test/cartesian_topology/CartesianConnManager_impl.hpp:313:1: error: missing 'typename' prior to
dependent type template name 'CartesianConnManager<LocalOrdinal, GlobalOrdinal>::Triplet'
CartesianConnManager<LocalOrdinal,GlobalOrdinal>::Triplet<int>
^
/Users/x/aproj/lib_src/Trilinos/packages/panzer/dof-mgr/test/cartesian_topology/CartesianConnManager_impl.hpp:341:1: error: missing 'typename' prior to
dependent type template name 'CartesianConnManager<LocalOrdinal, GlobalOrdinal>::Triplet'
CartesianConnManager<LocalOrdinal,GlobalOrdinal>::Triplet<GlobalOrdinal>
^
In file included from /Users/x/aproj/lib_src/Trilinos/packages/panzer/dof-mgr/test/cartesian_topology/CartesianConnManager.cpp:46:
/Users/x/aproj/lib_src/Trilinos/packages/panzer/dof-mgr/test/cartesian_topology/CartesianConnManager_impl.hpp:313:1: error: missing 'typename' prior to
dependent type template name 'CartesianConnManager<LocalOrdinal, GlobalOrdinal>::Triplet'
CartesianConnManager<LocalOrdinal,GlobalOrdinal>::Triplet<int>
^
/Users/x/aproj/lib_src/Trilinos/packages/panzer/dof-mgr/test/cartesian_topology/CartesianConnManager_impl.hpp:341:1: error: missing 'typename' prior to
dependent type template name 'CartesianConnManager<LocalOrdinal, GlobalOrdinal>::Triplet'
CartesianConnManager<LocalOrdinal,GlobalOrdinal>::Triplet<GlobalOrdinal>
^
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f packages/panzer/disc-fe/test/core_tests/CMakeFiles/PanzerDiscFE_element_block_to_physics_block_map.dir/build.make packages/panzer/disc-fe/test/core_tests/CMakeFiles/PanzerDiscFE_element_block_to_physics_block_map.dir/build
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f packages/panzer/disc-fe/test/core_tests/CMakeFiles/PanzerDiscFE_dimension.dir/build.make packages/panzer/disc-fe/test/core_tests/CMakeFiles/PanzerDiscFE_dimension.dir/build
[ 81%] Building CXX object packages/panzer/disc-fe/test/core_tests/CMakeFiles/PanzerDiscFE_element_block_to_physics_block_map.dir/element_block_to_physics_block_map.cpp.o
Steps to Reproduce
Here is the script used:
rm -rf C*
if [ -z "$TEST" ]; then TEST=OFF; fi
if [ -z "$EXAMPLE" ]; then EXAMPLE=OFF; fi
if [ -z "$BUILD_TYPE" ]; then BUILD_TYPE=DEBUG; fi
if [ -z "$USE_OPENMP" ]; then USE_OPENMP=OFF; fi
if [ "$USE_OPENMP" == "ON" ]; then
NODE_TYPE=OPENMP
elif [ "$USE_PTHREADS" == "ON" ]; then
NODE_TYPE=THREAD
elif [ "$USE_CUDA" == "ON" ]; then
NODE_TYPE=CUDA
else
NODE_TYPE=SERIAL
fi
export NETCDF_BASE_DIR=/opt/local/
export BOOST_BASE_DIR=/opt/local/
export HDF_BASE_DIR=/opt/local/
export SEMS_YAML_CPP_ROOT=/opt/local
YAMLCPP_ROOT=$SEMS_YAML_CPP_ROOT
echo Using openmp = ${USE_OPENMP}
echo -D Trilinos_ENABLE_OpenMP=${USE_OPENMP}
COMPILER=clang++-mp-5.0
INSTALL_DIR=/Users/x/aproj/lib_install/Trilinos_mpi_clang
WORKSPACE=/Users/x/aproj/lib_src/Trilinos
cmake \
-D Trilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \
-D Trilinos_ENABLE_INSTALL_CMAKE_CONFIG_FILES:BOOL=ON \
-D Trilinos_ENABLE_EXAMPLES:BOOL=${EXAMPLE} \
-D Trilinos_ENABLE_TESTS:BOOL=${TEST} \
-D BUILD_SHARED_LIBS:BOOL=OFF \
-D Trilinos_ENABLE_DEBUG=OFF \
-D Trilinos_ENABLE_COMPLEX_DOUBLE=ON \
-D Intrepid2_ENABLE_DEBUG=ON \
-D CMAKE_BUILD_TYPE:STRING=${BUILD_TYPE} \
-D Phalanx_KOKKOS_DEVICE_TYPE:STRING="${NODE_TYPE}" \
-D Trilinos_ENABLE_Fortran:BOOL=OFF \
-D Panzer_ENABLE_FADTYPE:STRING="Sacado::Fad::DFad<RealType>" \
-D Panzer_ENABLE_EXAMPLES=ON \
-D Panzer_BUILD_SOLVER_DRIVERS_EPETRA=ON \
-D Panzer_ENABLE_TESTS:BOOL=OFF \
-D Trilinos_ENABLE_KokkosKernels:BOOL=ON \
-D Kokkos_ENABLE_DEBUG_BOUNDS_CHECK:BOOL=ON \
-D Trilinos_ENABLE_KokkosCore:BOOL=ON \
-D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON \
-D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF \
-D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=OFF \
-D Trilinos_ENABLE_Pamgen:BOOL=ON \
-D Trilinos_ENABLE_Intrepid2:BOOL=ON \
-D Trilinos_ENABLE_Teko:BOOL=ON \
-D Trilinos_ENABLE_Belos:BOOL=ON \
-D Trilinos_ENABLE_Panzer:BOOL=ON \
-D Trilinos_ENABLE_Shards:BOOL=ON \
-D Trilinos_ENABLE_Stratimikos:BOOL=ON \
-D Trilinos_ENABLE_ML:BOOL=ON \
-D Trilinos_ENABLE_Amesos:BOOL=ON \
-D Trilinos_ENABLE_Amesos2:BOOL=ON \
-D MueLu_ENABLE_Amesos2:BOOL=ON \
-D Trilinos_ENABLE_MueLu:BOOL=ON \
-D MueLu_ENABLE_Experimental:BOOL=ON \
-D Xpetra_ENABLE_Experimental:BOOL=ON \
-D Trilinos_ENABLE_Zoltan:BOOL=ON \
-D Trilinos_ENABLE_FEI:BOOL=ON \
-D Trilinos_ENABLE_Amesos:BOOL=ON \
-D Trilinos_ENABLE_SEACASNemesis=ON \
-D Trilinos_ENABLE_SEACASNemslice=ON \
-D Trilinos_ENABLE_SEACASNemspread=ON \
-D Trilinos_ENABLE_SEACASEpu=ON \
-D Trilinos_ENABLE_SEACASExodiff=ON \
-D SEACASExodus_ENABLE_MPI:BOOL=ON \
-D Trilinos_ENABLE_STK:BOOL=ON \
-D Trilinos_ENABLE_STKMesh:BOOL=ON \
-D Trilinos_ENABLE_STKUtil:BOOL=ON \
-D Trilinos_ENABLE_STKTopology:BOOL=ON \
-D Trilinos_ENABLE_STKSearch:BOOL=OFF \
-D Trilinos_ENABLE_STKTransfer:BOOL=OFF \
-D Trilinos_ENABLE_STKDoc_tests:BOOL=OFF \
-D Trilinos_ENABLE_STKUnit_tests:BOOL=OFF \
-D Trilinos_ENABLE_STKUnit_test_utils:BOOL=OFF \
-D Trilinos_ENABLE_Stokhos:BOOL=OFF \
-D Trilinos_ENABLE_Galeri:BOOL=OFF \
-D Trilinos_ENABLE_ThreadPool:BOOL=OFF \
-D Teuchos_ENABLE_LONG_LONG_INT:BOOL=OFF \
-D Panzer_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \
-D SEACASExodus_ENABLE_MPI:BOOL=OFF \
-D EpetraExt_ENABLE_HDF5:BOOL=OFF \
-D Intrepid2_ENABLE_DEBUG_INF_CHECK:BOOL=OFF \
-D CMAKE_CXX_COMPILER:FILEPATH="mpic++-mpich-clang50" \
-D CMAKE_C_COMPILER:FILEPATH="mpicc-mpich-clang50" \
-D CMAKE_Fortran_COMPILER:FILEPATH="gfortran" \
-D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \
-D CMAKE_SKIP_RULE_DEPENDENCY=ON \
-D CMAKE_INSTALL_PREFIX:PATH=${INSTALL_DIR} \
-D Trilinos_VERBOSE_CONFIGURE:BOOL=OFF \
-D Trilinos_ENABLE_STRONG_CXX_COMPILE_WARNINGS=OFF \
-D Trilinos_ENABLE_STRONG_C_COMPILE_WARNINGS=OFF \
-D Trilinos_ENABLE_SHADOW_WARNINGS=OFF \
-D TPL_ENABLE_GLM=OFF \
-D TPL_ENABLE_MPI:BOOL=ON \
-D TPL_ENABLE_Boost:BOOL=ON \
-D TeuchosCore_ENABLE_yaml-cpp:BOOL=ON \
-D TPL_ENABLE_yaml-cpp:BOOL=ON \
-D yaml-cpp_INCLUDE_DIRS:FILEPATH="${SEMS_YAML_CPP_ROOT}/include" \
-D yaml-cpp_LIBRARY_DIRS:FILEPATH="${SEMS_YAML_CPP_ROOT}/lib" \
-D Netcdf_INCLUDE_DIRS:FILEPATH="${NETCDF_BASE_DIR}/include" \
-D Netcdf_LIBRARY_DIRS:FILEPATH="${NETCDF_BASE_DIR}/lib" \
-D HDF5_INCLUDE_DIRS:FILEPATH="${HDF_BASE_DIR}/include" \
-D HDF5_LIBRARY_DIRS:FILEPATH="${HDF_BASE_DIR}/lib" \
-D TPL_Boost_INCLUDE_DIRS:FILEPATH="${BOOST_BASE_DIR}/include" \
-D TPL_Boost_LIBRARY_DIRS:FILEPATH="${BOOST_BASE_DIR}/lib" \
-D TPL_Boost_LIBRARIES="${BOOST_BASE_DIR}/lib/libboost_program_options-mt.a;${BOOST_BASE_DIR}/lib/libboost_system-mt.a" \
-D TPL_BoostLib_INCLUDE_DIRS:FILEPATH="${BOOST_BASE_DIR}/include" \
-D TPL_BoostLib_LIBRARY_DIRS:FILEPATH="${BOOST_BASE_DIR}/lib" \
-D TPL_BoostLib_LIBRARIES="${BOOST_BASE_DIR}/lib/libboost_program_options-mt.a;${BOOST_BASE_DIR}/lib/libboost_system-mt.a" \
-D TPL_ENABLE_Netcdf:BOOL=ON \
-D TPL_ENABLE_HDF5:BOOL=ON \
-D TPL_ENABLE_Matio=OFF \
-D TPL_ENABLE_LAPACK:BOOL=ON \
-D TPL_LAPACK_LIBRARIES:FILEPATH="-L/usr/lib;-llapack" \
-D TPL_ENABLE_BLAS:BOOL=ON \
-D TPL_BLAS_LIBRARIES:FILEPATH="-L/usr/lib;-lblas" \
-D CMAKE_SKIP_RULE_DEPENDENCY=ON \
-D TPL_ENABLE_Matio:BOOL=OFF \
-D TPL_ENABLE_X11:BOOL=OFF \
-D TPL_ENABLE_SuperLU:BOOL=OFF \
-D Trilinos_ENABLE_OpenMP=${USE_OPENMP} \
-D Kokkos_ENABLE_OpenMP:BOOL=${USE_OPENMP} \
-D TPL_ENABLE_CUDA:BOOL=${USE_CUDA} \
-D TPL_ENABLE_CUSPARSE:BOOL=${USE_CUDA} \
-D Kokkos_ENABLE_Cuda_UVM:BOOL=${USE_CUDA} \
..