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. -------------------------------------------------------------------