How to Install using autoconf'ed TORQUE.

ONLINE:http://www.clusterresources.com/products/torque/docs_20050804/torquequickstart.shtml


- untar the tar file and cd to the top level directory

- run "./configure" with the options set appropriately for your
  installation. (See 'CONFIGURE' note below)

- run "make" (See 'BUILD' note below)

- run "make install" or "make packages" (See 'INSTALL' note below)

-------------------------------------------------------------------

CONFIGURE: It is advisable to create a simple shell script
  that calls configure with the appropriate options so that you
  can save typing on reconfigures. If you have already run configure
  you can remake all of the Makefiles by running "./config.status".
  Also, looking at the first few lines of config.status will
  tell you the options that were set when configure was run.
  To figure out which options one can set run "./configure --help"
  
-------------------------------------------------------------------

BUILD: You need to use a POSIX (or nearly POSIX) make. GNU make
  works quite well in this regard; BSD make does not. If you are
  having any sort of build problems, your make should be a prime suspect.
  Tremendous effort has been expended to provide proper dependency
  generation and makefiles without relying on any non-POSIX features. 
  The build should work fine with a simple call to make, however,
  complicating things by using various make flags is not guaranteed
  to work. Don't be surprised if the first thing that make does is
  call configure again. See the note in Makefile.in if this happens.

-------------------------------------------------------------------

INSTALL: The standard "install" target will install all of the
  configured components.  Individual components can be installed with
  the following targets: install_clients, install_mom, install_server,
  install_gui, and install_devel.  If your TORQUE build directory is
  shared to your nodes, you can rsh/ssh to each node and run:
  "make install_mom install_clients".

  TORQUE has built-in support for making RPMs. After running
  ./configure with all desired options, 'make rpm' should create a
  set of binary RPMs that match your configuration.

  For more convienent installation on compute nodes and login machines,
  TORQUE can build customized, distributable, self-extracting packages
  with the "packages" target.  The packages contain all required files
  to use a specific subcomponent on any host with the same Operating
  System.

  The generated packages can be copied to all other hosts and installed
  by running the script with --install.  By default, packages will
  preserve config files (See buildutils/self-extract-head-sh.in for the
  current list of config files.  Run the package with --help for other
  options.


  Environments that use multiple builds can add a useful package name
  by defining PKGNAME, ie: 
     $ make PKGNAME=cluster1 packages
     ...
     Building torque-cluster1-clients-linux-i686.sh ...
     Building torque-cluster1-mom-linux-i686.sh ...
     ...


  Local changes, such as MOM config files and pro/epilog scripts, can
  be placed in a "package override" directory.  Files in this directory
  will be added, possibly overwriting default files, to the generated
  packages.  Override files are scanned from PKGOVERRIDE/$component
  where PKGOVERRIDE defaults to "./pkgoverride" and $component is one
  of: clients, mom, server, gui, and devel.  Override files are copied
  with the full path, ie: 
     ./pkgoverride/mom/usr/spool/PBS/mom_priv/config

  One might maintain MOM scripts in a permanent location like
  ~/pkgoverride/mom and build packages with:
     $ make PKGOVERRIDE=~/pkgoverride packages
     ...
     Building torque-package-mom-linux-i686.sh ...
     Using override dir ~/pkgoverride/mom
     ...
     ./usr/spool/PBS/mom_priv/config
     ./usr/spool/PBS/mom_priv/prologue
     Building torque-package-server-linux-i686.sh ...
     Building torque-package-gui-linux-i686.sh ...
     ...


  If an executable is found at PKGOVERRIDE/$component/post-install, it
  will be added to the package, executed after installation, and then
  removed if it exits successfully.

-------------------------------------------------------------------

OS NOTES

Apple OS X: 

  If using 'bash' as the job execution shell, '.bashrc' may not be 
  executed.  Use '#!/bin/bash -l' at the start of the pbs command file
  to force this script to be run.

  Some versions of OSX have a buggy bind() preventing binding to privileged
  ports.  In this case, --disable-privports should be used.

  gcc 4.0 on OS X will not compile TORQUE with -pendantic -Werror (installed
  with Developer Tools versions prior to 2.5) .  run configure with the 
  --disable-gcc-warnings to build TORQUE with gcc 4.0 on OS X. gcc installed 
  by Apple Developer Tools 2.5 and newer will compile TORQUE without warning

  TORQUE's configure script generates many error messages on OSX. While they
  are generally not a problem, 'autoreconf -v -f -i' will generate all new
  scripts by the OSX version of autotools.

  OS X 10.5 (Leopard) support:

  The Leopard release of OS X caused a few issues with TORQUE

  1)  TORQUE now has difficulty authenticating a user in certain circumstances, 
      and it doesn't always seem to be repeatable.

  2)  The code encapsulated by the HAVE_WORDEXP macro in pbs_mom causes causes 
      a child process of pbs_mom that copies the stderr and stdout files back 
      to the user to crash and the job gets stuck in the "E" state.  Until we 
      have a better solution a work around for this issue is to edit 
      src/include/pbs_config.h, and search for HAVE_WORDEXP.  Comment out
      the #define HAVE_WORDEXP 1

      Unfortunately it is likely that issue 1) will still arise. 
      


TRU64/DIGITALUNIX: If building for a TRU64/Digital Unix cluster, some
  users have reported problems building pbs_mom.  To correct this add
  the path to librt.a (ie, '/usr/lib/librt.a') to the pbs_mom linker 
  line in ~/src/resmom/Makefile


Linux 32bit vs. 64bit: At least Suse 10.0 ppc64 wants to build 32bit by
  default.  This is how you build 64bit TORQUE:
  ./configure CC="gcc -m64"

  Similarly, 32bit builds on an x86_64 platform:
  ./configure CC="gcc -m32"

  And also, make yourself rpms:
  ./configure --prefix=/usr --mandir=/usr/share/man \
    --libdir=/usr/lib/torque/lib64 CC="gcc -m64"
  make RPMOPTS="--target ppc64" rpm

  ./configure --prefix=/usr --mandir=/usr/share/man \
    CC="gcc -m32"
  make RPMOPTS="--target i386" rpm


AIX 32bit vs. 64bit: AIX builds are 32bit by default. In order to build
  build 64bit TORQUE use:
  ./configure CC="xlc -q64" AR="ar -X 64" NM="nm -X 64 -B"

  Using CC="gcc -m64" requires the same AR and NM settings.

-------------------------------------------------------------------


