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
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.