-
Notifications
You must be signed in to change notification settings - Fork 141
/
INSTALL
170 lines (122 loc) · 6.73 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
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.
-------------------------------------------------------------------