Warning: this installation is not yet complete!

  • There is no pantasks support.

Versions of IPP on Odyssey

  • Most people are using a copy of IPP build from the SVN development repository; this version is getting the most support.
  • Other versions exist. For example, the 'default' version is still ipp-2.6.1 .
  • The installation directories for IPP are under /odyssey/apps/ipp ; the source code resides under /odyssey/apps/src/ipp .

IPP User Setup on Odyssey for the SVN top-of-tree version

This is called the ipp-SVN_top version, and is the best-supported version of IPP on Odyssey.

  • The general description of Odyssey is here: Odyssey_Cluster_Configuration
  • The binaries for ipp-SVN_top reside in /odyssey/apps/ipp/ipp-SVN_top/psconfig, with source in /odyssey/apps/src/ipp/ipp-SVN_top .
  • This system uses Modules for environment management, so there is a small change in setup compared to most IPP installations. Instead of the usual modification to .bashrc or .cshrc, for which the .cshrc version looks like:
   if (-e /path/to/psconfig.csh) then
      alias psconfig "source /path/to/psconfig.csh"
   else
      alias psconfig "echo psconfig not available"
   endif

the following code suffices for both .bashrc and .cshrc:

module load hpc/ipp/ipp-SVN_top

  • To finish setting up the shell environment, libcfitsio doesn't seem to work properly unless the environment variable CFITSIO points to the library itself. Thus the user's .bashrc should include:
   module load hpc/ipp
   export CFITSIO=${PSCONFDIR}/${PSCONFIG}/lib/libcfitsio.a

.cshrc should include:

   module load hpc/ipp
   setenv CFITSIO ${PSCONFDIR}/${PSCONFIG}/lib/libcfitsio.a}

There is no need to use a psconfig command with this version.

  • Users must set up several config files in their home directories:
   cd ${HOME}
   cp /odyssey/apps/src/ipp/ipp-SVN_top/ipp/ippconfig/ipprc.config ./.ipprc
   cp /odyssey/apps/src/ipp/ipp-SVN_top/ipp/ippconfig/dvo.site ./.ptolemyrc

Edit ${HOME}/.ipprc to uncomment the line near the top of the file which includes $HOME/.ippconfig in the config search path. These files can be customized to implement your preferred config options.

<b>DO NOT</b> set the environment variable PSCONFIG in your ${HOME}/.psconfigrc file. The <em>module load</em> command handles that for you; setting it separately in ${HOME}/.psconfigrc will interfere with the function of the <em>module</em> commands.

Build Notes for ipp-SVN_top

  • The modulefile /odyssey/apps/modules-3.2.6/Modules/modulefiles/hpc/ipp/ipp-SVN_top is used to implement the 'module load' behavior described above.
  • There is a file named source_me.csh in /odyssey/apps/src/ipp/ipp-SVN_top which sets appropriate environment variables for the build.
  • Commands for a complete update and rebuild under tcsh would thus be:
   cd /odyssey/apps/src/ipp/ipp-SVN_top/ipp
   source ../source_me.csh
   svn update
   cd psconfig
   psbuild -dev -rebuild -clean -optimize >& /tmp/psbuild.log

  • Errors with messages like:

libtool: link: `/odyssey/apps/ipp/default.linrh64/lib/libgsl.la' is not a valid libtool archive

seem to be the result of broken libtool archive (.la) files left over from failed earlier compiles. The fix is to remove all .la files from both the /odyssey/apps/src/ipp/ipp-2.6.1 and /odyssey/apps/ipp/ipp-2.6.1/psconfig/default.linrh64 trees and do a 'psbuild -clean -rebuild -extbuild'.

  • In ippconfig/recipes/ppStack.config, it's worthwhile to change TEMP.DIR from /tmp to /scratch. Some jobs seem

to bail because /tmp fills up, and the mess doesn't automatically get cleaned up when the job ends.

IPP User Setup for IPP 2.6.1 on Odyssey

This version is somewhat out-of-date. Note especially the fact that the 'module load' command must be followed by a 'psconfig' command for this version.

  • The general description of Odyssey is here: Odyssey_Cluster_Configuration
  • The binaries for ipp-2.6.1 reside in /odyssey/apps/ipp/ipp-2.6.1/psconfig, with source in /odyssey/apps/src/ipp/ipp-2.6.1 .
  • This system uses Modules for environment management, so there is a small change in setup compared to most IPP installations. Instead of the usual modification to .bashrc or .cshrc, for which the .cshrc version looks like:
   if (-e /path/to/psconfig.csh) then
      alias psconfig "source /path/to/psconfig.csh"
   else
      alias psconfig "echo psconfig not available"
   endif

the following code suffices for both .bashrc and .cshrc:

   module load hpc/ipp

  • To finish setting up the shell environment, the usual 'psconfig default' command is needed. In addition, libcfitsio doesn't seem to work properly unless the environment variable CFITSIO points to the library itself. Thus the user's .bashrc should include:
   module load hpc/ipp
   psconfig default
   export CFITSIO=${PSCONFDIR}/default.linrh64/lib/libcfitsio.a

.cshrc should include:

   module load hpc/ipp
   psconfig default
   setenv CFITSIO ${PSCONFDIR}/default.linrh64/lib/libcfitsio.a
  • Users must set up several config files in their home directories:
   cd ${HOME}
   cp /odyssey/apps/src/ipp/ipp-2.6.1/ippconfig/ipprc.config ./.ipprc
   cp /odyssey/apps/src/ipp/ipp-2.6.1/ippconfig/dvo.site ./.ptolemyrc

Edit ${HOME}/.ipprc to uncomment the line near the top of the file which includes $HOME/.ipp in the config search path. These files can be customized to implement your preferred config options.

<b>DO NOT</b> set the environment variable PSCONFIG in your ${HOME}/.psconfigrc file. The <em>module load</em> command handles that for you; setting it separately in ${HOME}/.psconfigrc will interfere with the function of the <em>module</em> commands.

Build Notes for IPP 2.6.1

  • The modulefile /odyssey/apps/modules-3.2.6/Modules/modulefiles/hpc/ipp is used to implement the 'module load' behavior described above.
  • Except for the substitution of 'module load' for the edits to ${HOME}/.cshrc and ${HOME}/.bashrc, the

installation proceeds exactly as described in the INSTALL file in /odyssey/apps/src/ipp/ipp-2.6.1 up through the end of step (3).

export LDFLAGS=-L/odyssey/apps/ipp/ipp-2.6.1/psconfig/default.linrh64/lib

before doing the 'psbuild' command of INSTALL step (4). (Modify this appropriately if LDFLAGS is already defined).

  • Errors with messages like:

libtool: link: `/odyssey/apps/ipp/default.linrh64/lib/libgsl.la' is not a valid libtool archive

seem to be the result of broken libtool archive (.la) files left over from failed earlier compiles. The fix is to remove all .la files from both the /odyssey/apps/src/ipp/ipp-2.6.1 and /odyssey/apps/ipp/ipp-2.6.1/psconfig/default.linrh64 trees and do a 'psbuild -clean -rebuild -extbuild'.

Known Problems

  • It's unclear how to integrate pantasks with the queueing system.
  • site.config needs to be kept up to date as additional data directories are established.