Table of Contents

Overture

This page documents the installation of a custom version of Overture that does not have any Motif, OpenGL or X11 dependencies available as a tarball & in our SVN repository. Note: These instructions are not valid for the latest version of Overture available at the Overture Install page.

Resources:

Overture Dependencies & Preqrequisites

Ensure that you have the HDF, A++ & P++ libraries and header files on your system. If you do not know the location of these libraries, or if they are not installed ask your system administrator. If you are the system administrator, follow the instructions below for obtaining and installing these dependencies:

HDF

A++ & P++

Overture Build Instructions

  1. Download tarball of source code: overture-02-19-2008.tar.gz and unpack to $INSTALL_DIR/overture:
    cd $INSTALL_DIR
    wget http://download.hao.ucar.edu/pub/schmitt/cism/LTR-para/overture-02-19-2008.tar.gz
    tar -zxvf overture-02-19-2008.tar.gz
    
    Developers who want the latest & greatest (and quite possibly the most broken version of code) may download from the CISM repository:
    Note: This requires an the UCAR Subversion server
    cd $INSTALL_DIR
     svn --username [yourname] co https://proxy.subversion.ucar.edu/cism_CSE/trunk/overture
    
  2. Change directories & set the following environment variables in your corresponding shell. On an IBM AIX system using csh, this looks like:
    cd $INSTALL_DIR/overture
     setenv APlusPlus $INSTALL_DIR/A++
     setenv PPlusPlus $INSTALL_DIR/P++
     setenv HDF $INSTALL_DIR
     setenv Overture $INSTALL_DIR/overture
     setenv XLIBS IGNORE_X
     setenv OpenGL IGNORE_X
     setenv MOTIF IGNORE_X
     setenv PERL IGNORE_PERL
    
    See the env.example file included with our Overture distribution as an example of the environment variables you need to set.
  3. Configure and build:
    On some 64-bit Linux systems (i.e. OS = "linux" from below), you must first edit config/MakeDefs.linux and replace -DINTEL86 with
    -D__x86_x64__ -DBL_AUTO_INSTANTIATE
    
    and then run configure:
    ./configure [OS]  CC=${CXX} cc=${CC} FC=${F77}
    
    where [OS] is replaced with one of aix, dec, dec-linux, dec-linux-compaq, hpux, linux, irix, sun5 (run sh configure --help for more information). $CC, $CXX and $F77 are environment variables pointing to your C, C++ and Fortran compilers. You may wish to compile an optimized parallel version of Overture (note: We have not extensively tested the optimized parallel version of Overture) by issuing the following commands:
    chmod gu+x configure
        sh configure [OS] opt parallel CC=${CXX} cc=${CC} FC={F77}
    
    Warning: It can take a long time to build the optimized version of Overture.
    On some 64-bit Linux machines (i.e. OS = "linux" from above), you must edit boxlib/Makefile, swapping
    -D__x86_x64__ -DBL_AUTO_INSTANTIATE
    
    with
    -D__x86_x64__ -DBL_AUTO_INSTANTIATE -D__ia64
    
  4. Build the code
    gmake
    
    1. Warning: On machines with limited memory, Overture (specifically dpmVector.C) may take several hours to build thanks to lots of C++ templates which require the C pre-processor to to utilize lots of memory. We've seen this take 25 hours and utilize over 2.5 Gb of ram using the PGI compilers (on Kraken)!
    2. Certain machines have an error linking bin/ogen:
      async.c:-( .text+0x32): undefined reference to `aio_suspend'
      async.c:-( .text+0x64): undefined reference to `aio_return'
      async.c:-( .text+0x8d): undefined reference to `aio_error'
      /export/pgf70/linux86-64/7.0-3/lib/libpgftnrtl.a(async.o): In function  `Fio_asy_read':
      async.c:-( .text+0x2b0): undefined reference to `aio_read'
      /export/pgf70/linux86-64/7.0-3/lib/libpgftnrtl.a(async.o): In function  `Fio_asy_write':
      async.c:-( .text+0x362): undefined reference to `aio_write'
      
      To fix this, add -lrt to the end of FORTRAN_LIBS in bin/Makefile
  5. You have now built and installed the prerequisites.

64-bit Linux with Intel Compilers

Edit config/MakeDefs.linux and do the following:

Replace -DINTEL86 with

-D__x86_x64__ -DBL_AUTO_INSTANTIATE

Add the following to the lines that specify $GLIBS:

-L/usr/lib64 -lg2c -lstdc++

Run ./configure ... (e.g. by following the standard Overture build instructions). Before running gmake, you should edit boxLib/Makefile and replace the line containing "x86_x64" with

-D__x86_x64__ -D__ia64

Otherwise, you may get errors about "nld" and "nrd" being un-defined.
Then run

./configure linux cc=icc CC=icc FC=ifort
   gmake

Developer website

http://www.llnl.gov/CASC/Overture

Troubleshooting

General Troubleshooting Notes

The notes below say to "edit the appropriate Makefile". You have two options for this:

  1. Edit config/Makedefs.$ARCHITECTURE, gmake clean, and re-run the configure script.
  2. Note the last directory you were in when getting an error and edit the makefile in that directory. So, if the last few lines during the error are
    gmake[1]: *** [rap] Error 1
    gmake[1]: Leaving directory }}/misc/p63/cmit2/pschmitt/releaseCandidate/opt/overture/bin'
    gmake: *** [all] Error 2
    
    Note the last directory: overture/bin, so you would edit bin/Makefile.

To build on a 64-bit Intel machine (like wjet and STIC), we had to edit config/Makedefs.linux and replace -DINTEL86 with

-D__x86_64__

Issues