Overture Installation on a Linux Desktop

These are the instructions for installing Overture on Linux personal computer. These are adapted from the Installation Instructions provided by Overture. It is assumed here that the GNU C, C++ and FORTRAN compilers as well as MPICH are installed.

Dependencies: Motif, Mesa, JPEG Library, ZLIB, LAPACK (Install as root if possible, through the distribution's repositories)

For example, on Fedora systems:

yum install motif mesa libjpeg-turbo libjpeg-turbo-devel zlib zlib-devel lapack lapack-devel

Note: Using the latest GNU compilers can cause some compilation errors. These can be fixed by small modifications to the source files. Refer: Overture mailing list post.

Serial Installation

HDF5

  • wget http://overtureframework.org/software/hdf5-1.8.8.tar.gz && gunzip hdf5-1.8.8.tar.gz && tar xvf hdf5-1.8.8.tar && rm hdf5-1.8.8.tar
  • cd hdf5-1.8.8
  • Open the file tools/lib/h5diff.c and remove line 647 ("//int i1, i2;") (Refer Overture mailing list post)
  • ./configure --prefix=$PWD --enable-fortran --enable-cxx
  • make && make install && make check (make check may give an error)
  • cd ../
  • mv hdf-1.8.8/ hdf-1.8.8_serial
  • A++

  • wget http://overtureframework.org/software/AP-0.8.0.tar.gz && gunzip AP-0.8.0.tar.gz && tar xvf AP-0.8.0.tar && AP-0.8.0.tar
  • cd A++P++-0.8.0/
  • ./configure --enable-SHARED_LIBS --prefix=$PWD
  • make && make install && make check
  • cd ../
  • PETSc

    Skipping this since its an optional dependency to solve the system of equations for the incompressible Navier-Stokes.

    Overture

  • mkdir overture
  • mkdir overture/serial
  • cd overture/serial
  • wget http://overtureframework.org/software/Overture.v25.tar.gz && gunzip Overture.v25.tar.gz && tar xvf Overture.v25.tar && Overture.v25.tar
  • wget http://overtureframework.org/software/cg.v25.tar.gz && gunzip cg.v25.tar.gz && tar xvf cg.v25.tar && rm cg.v25.tar
  • Set up environment variables:-

  • export XLIBS=/usr
  • export OpenGL=/usr
  • export MOTIF=/usr
  • export HDF=/path/to/hdf-1.8.8_serial
  • export APlusPlus=/path/to/A++P++-0.8.0/A++/install
  • export Overture=$PWD/Overture.v25
  • export CG=$PWD/cg.v25
  • export CGBUILDPREFIX=$CG
  • export LAPACK=/usr
  • export LD_LIBRARY_PATH=${MOTIF}/lib:${XLIBS}/lib:${HDF}/lib:${OpenGL}/lib:${Overture}/lib:${APlusPlus}/lib
  • Compilation:

  • cd Overture.v25/
  • ./configure CC=g++ cc=gcc FC=gfortran
  • make
  • ./check.p
  • cd ../
  • CG
  • cd cg.v25
  • make && make check
  • cd ../
  • Parallel Installation

    HDF5

  • wget http://overtureframework.org/software/hdf5-1.8.8.tar.gz && gunzip hdf5-1.8.8.tar.gz && tar xvf hdf5-1.8.8.tar
  • cd hdf5-1.8.8
  • Open the file tools/lib/h5diff.c and remove line 647 ("//int i1, i2;") (Refer Overture mailing list post)
  • CC=mpicc ./configure --prefix=$PWD
  • make && make install && make check (make check may give an error)
  • cd ../
  • mv hdf-1.8.8/ hdf-1.8.8_parallel
  • A++

    Same as serial

    P++

  • cd A++P++-0.8.0/
  • ./configure --enable-PXX --prefix=$PWD --enable-SHARED_LIBS --with-mpi-include=-I/usr/include --with-mpi-lib-dirs="-Wl,-rpath,/usr/lib64 -L/usr/lib64/" --with-mpi-libs="-lmpich -lopa -lmpl -lrt -lpthread" --with-mpirun=mpirun --without-PADRE
    (The values for --with-mpi-include, --with-mpi-lib-dirs, --with-mpi-libs can be found from running the command "mpicc -show")
  • make && make install && make check
  • cd ../
  • PETSc

    Same as serial

    Overture

  • wget http://overtureframework.org/software/Overture.v25.tar.gz && gunzip Overture.v25.tar.gz && tar xvf Overture.v25.tar
  • wget http://overtureframework.org/software/cg.v25.tar.gz && gunzip cg.v25.tar.gz && tar xvf cg.v25.tar
  • Set up environment variables:-

  • export XLIBS=/usr
  • export OpenGL=/usr
  • export MOTIF=/usr
  • export HDF=/path/to/hdf5-1.8.8_parallel
  • export APlusPlus=/path/to/A++P++-0.8.0/P++/install #(Yes, APlusPlus needs to be set to P++ install directory)
  • export PPlusPlus=/path/to/A++P++-0.8.0/P++/install
  • export Overture=$PWD/Overture.v25
  • export CG=$PWD/cg.v25
  • export CGBUILDPREFIX=$CG
  • export LAPACK=/usr
  • export LD_LIBRARY_PATH=${MOTIF}/lib:${XLIBS}/lib:${HDF}/lib:${OpenGL}/lib:${Overture}/lib:${APlusPlus}/lib:${PPlusPlus}/lib
  • Compilation:

  • cd Overture.v25/
  • Edit the configure file - Find the following lines (Line number 515 to 523)
      elsif( $arg =~ /CC=(.*)/ )
      {
          $CC = $1; $CC =~ s/ //g;
          if( $CC eq "kcc" ){ $CC = "KCC"; }
      }
      elsif( $arg =~ /cc=(.*)/ )
      {
          $cc = $1; $cc =~ s/ //g;
      }
      and replace with
      elsif( $arg =~ /^CC=(.*)/ )
      {
          $CC = $1; $CC =~ s/ //g;
          if( $CC eq "kcc" ){ $CC = "KCC"; }
      }
      elsif( $arg =~ /^cc=(.*)/ )
      {
          $cc = $1; $cc =~ s/ //g;
      }
      Refer: Overture mailing list post
  • ./configure parallel CC=mpicxx cc=mpicc FC=mpif90 bCC=g++ bcc=gcc bFC=gfortran
  • make
  • ./check.p
  • CG

    Same as serial