Skip to content

Building Albany on Debian 8.3 stable VM

Dan Ibanez edited this page Jan 23, 2017 · 1 revision

Starting from a clean VM of Debian 8.3 stable

  • sudo apt install build-essential gfortran cmake cmake-curses-gui libopenblas-dev liblapack-dev libsuperlu-dev git

mpich-3.2

  • configure --prefix=/usr && make -j8 && sudo make install

zlib-1.2.8

  • CC=mpicc CFLAGS=-O3 ./configure —64 —prefix=/usr/local && make -j8 && sudo make install

hdf5-1.8.16

  • ./configure CC=mpicc FC=mpif90 CXX=mpicxx CXXFLAGS=“-fPIC -O3” CFLAGS=“-fPIC -O3” FCFLAGS=“-fPIC -O3” --enable-parallel --with-zlib=/usr/local --prefix=/usr/local && make -j4 && sudo make install

netcdf-4.4.0

  • edit include/netcdf.h:
#define NC_MAX_DIMS    65536    /* max dimensions per file */
#define NC_MAX_ATTRS    8192
#define NC_MAX_VARS   524288    /* max variables per file */
#define NC_MAX_NAME      256
#define NC_MAX_VAR_DIMS    8    /* max per variable dimensions */
  • cmake -DCMAKE_C_COMPILER=mpicc -DCMAKE_C_FLAGS="-I/usr/local/include -O3 -fPIC" -DCMAKE_EXE_LINKER_FLAGS="-L/usr/local/lib -O3 -fPIC" -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_DAP=OFF -DBUILD_SHARED_LIBS=ON -DENABLE_FSYNC=OFF -DENABLE_CDMREMOTE=OFF -DENABLE_DOXYGEN=OFF -DENABLE_NETCDF_4=ON -DCMAKE_BUILD_TYPE=RELEASE -DENABLE_EXAMPLES=OFF -DENABLE_TESTS=OFF -DCMAKE_SKIP_INSTALL_RPATH=ON -DHDF5_INCLUDE_DIR=/user/local/include -DHDF5_LIB=/usr/local/lib/libhdf5.a -DHDF5_HL_LIB=/usr/local/lib/libhdf5_hl.a -DZLIB_INCLUDE_DIRS=/usr/include -DZLIB_LIBRARY=/usr/local/lib/libz.a -DBUILD_UTILITIES=OFF .. && make -j8 && sudo make install

  • sudo cp ../include/netcdf_par.h /usr/local/include/.

boost_1_60_0

  • ./bootstrap.sh --with-libraries=signals,regex,filesystem,system,mpi,serialization,thread,program_options,exception --prefix=/usr/local && ./b2 -j 4 && sudo ./b2 install

parmetis-4.0.3

  • edit metis/include/metis.h:
#define IDXTYPEWIDTH 64
#define REALTYPEWIDTH 64
  • cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DMETIS_PATH=/home/tjcorona/Software/parmetis-4.0.3/metis -DGKLIB_PATH=/home/tjcorona/Software/parmetis-4.0.3/metis/GKlib -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_C_FLAGS=-O3 -DCMAKE_CXX_FLAGS=-O3 .. && make -j8 && sudo make install

  • sudo cp ../metis/include/metis.h /usr/local/include/.

  • sudo cp libmetis/libmetis.a /usr/local/lib/.

Trilinos

  • SHA: 1d797059497a0817d7c42162a7ca6b6264df69bc
TRILINSTALLDIR=/usr/local
BOOSTDIR=/usr/local
NETCDFDIR=/usr/local
HDF5DIR=/usr/local
SUPERLUDIR=/usr

rm -f CMakeCache.txt;

cmake \
    -D Trilinos_DISABLE_ENABLED_FORWARD_DEP_PACKAGES=ON \
    -D CMAKE_INSTALL_PREFIX:PATH=${TRILINSTALLDIR} \
    -D CMAKE_BUILD_TYPE:STRING=RELEASE \
    -D BUILD_SHARED_LIBS:BOOL=ON \
    -D TPL_ENABLE_MPI:BOOL=ON \
    -D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \
    -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF \
    -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING="" \
    -D Teuchos_ENABLE_LONG_LONG_INT:BOOL=ON \
    \
    -D Trilinos_ENABLE_Teuchos:BOOL=ON \
    -D Trilinos_ENABLE_Shards:BOOL=ON \
    -D Trilinos_ENABLE_Sacado:BOOL=ON \
    -D Trilinos_ENABLE_Epetra:BOOL=ON \
    -D Trilinos_ENABLE_EpetraExt:BOOL=ON \
    -D Trilinos_ENABLE_Ifpack:BOOL=ON \
    -D Trilinos_ENABLE_AztecOO:BOOL=ON \
    -D Trilinos_ENABLE_Amesos:BOOL=ON \
    -D Trilinos_ENABLE_Anasazi:BOOL=ON \
    -D Trilinos_ENABLE_Belos:BOOL=ON \
    -D Trilinos_ENABLE_ML:BOOL=ON \
    -D Trilinos_ENABLE_Phalanx:BOOL=ON \
    -D Trilinos_ENABLE_Intrepid:BOOL=ON \
    -D Trilinos_ENABLE_Intrepid2:BOOL=ON \
    -D Trilinos_ENABLE_NOX:BOOL=ON \
    -D Trilinos_ENABLE_Stratimikos:BOOL=ON \
    -D Trilinos_ENABLE_Thyra:BOOL=ON \
    -D Trilinos_ENABLE_Rythmos:BOOL=ON \
    -D Trilinos_ENABLE_MOOCHO:BOOL=ON \
    -D Trilinos_ENABLE_Stokhos:BOOL=ON \
    -D Trilinos_ENABLE_Piro:BOOL=ON \
    -D Trilinos_ENABLE_Teko:BOOL=ON \
    \
    -D Trilinos_ENABLE_STKIO:BOOL=ON \
    -D Trilinos_ENABLE_STKMesh:BOOL=ON \
    -D TPL_ENABLE_Boost:BOOL=ON \
    -D Boost_INCLUDE_DIRS:FILEPATH="$BOOSTDIR/include" \
    -D Boost_LIBRARY_DIRS:FILEPATH="$BOOSTDIR/lib" \
    -D TPL_ENABLE_BoostLib:BOOL=ON \
    -D BoostLib_INCLUDE_DIRS:FILEPATH="$BOOSTDIR/include" \
    -D BoostLib_LIBRARY_DIRS:FILEPATH="$BOOSTDIR/lib" \
    \
    -D Trilinos_ENABLE_SEACASIoss:BOOL=ON \
    -D Trilinos_ENABLE_SEACASExodus:BOOL=ON \
    -D TPL_ENABLE_Netcdf:BOOL=ON \
    -D Netcdf_INCLUDE_DIRS:PATH="$NETCDFDIR/include" \
    -D Netcdf_LIBRARY_DIRS:PATH="$NETCDFDIR/lib" \
    -D TPL_ENABLE_HDF5:BOOL=ON \
    -D HDF5_INCLUDE_DIRS:PATH="$HDF5DIR/include" \
    -D HDF5_LIBRARY_DIRS:PATH="$HDF5DIR/lib" \
    \
    -D Trilinos_ENABLE_Tpetra:BOOL=ON \
    -D Trilinos_ENABLE_Kokkos:BOOL=ON \
    -D Trilinos_ENABLE_Ifpack2:BOOL=ON \
    -D Trilinos_ENABLE_Amesos2:BOOL=ON \
    -D Trilinos_ENABLE_Zoltan2:BOOL=ON \
    -D Trilinos_ENABLE_MueLu:BOOL=ON \
    -D Amesos2_ENABLE_KLU2:BOOL=ON \
    \
    -D Trilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \
    -D Tpetra_INST_INT_LONG_LONG:BOOL=ON \
    -D Tpetra_INST_INT_INT:BOOL=ON \
    -D Tpetra_INST_DOUBLE:BOOL=ON \
    -D Tpetra_INST_FLOAT:BOOL=OFF \
    -D Tpetra_INST_COMPLEX_FLOAT:BOOL=OFF \
    -D Tpetra_INST_COMPLEX_DOUBLE:BOOL=OFF \
    -D Tpetra_INST_INT_LONG:BOOL=OFF \
    -D Tpetra_INST_INT_UNSIGNED:BOOL=OFF \
    \
    -D Trilinos_ENABLE_Kokkos:BOOL=ON \
    -D Trilinos_ENABLE_KokkosCore:BOOL=ON \
    -D Phalanx_KOKKOS_DEVICE_TYPE:STRING="SERIAL" \
    -D Phalanx_INDEX_SIZE_TYPE:STRING="INT" \
    -D Phalanx_SHOW_DEPRECATED_WARNINGS:BOOL=OFF \
    -D Kokkos_ENABLE_Serial:BOOL=ON \
    -D Kokkos_ENABLE_OpenMP:BOOL=OFF \
    -D Kokkos_ENABLE_Pthread:BOOL=OFF \
   -D TPL_ENABLE_SuperLU:STRING=ON \
   -D SuperLU_INCLUDE_DIRS:STRING="${SUPERLUDIR}/include/superlu" \
   -D SuperLU_LIBRARY_DIRS:STRING="${SUPERLUDIR}/x86_64-linux-gnu/lib" \
    \
    ../

Albany

  • SHA: f18e4280127532c09911a39bbe65c59f050bb82c

  • cmake -D ALBANY_TRILINOS_DIR:FILEPATH=“/usr/local” ..

Clone this wiki locally