ViewVC logotype

Contents of /trunk/INSTALL

Parent Directory Parent Directory | Revision Log Revision Log

Revision 1 - (show annotations) (download)
Fri Oct 29 20:54:12 2004 UTC (19 years, 8 months ago) by aw0a
File size: 22378 byte(s)
Setting up web subdirectory in repository
1 ========================================================================
2 UNIX Installation
3 ========================================================================
5 These are the instructions for building and installing release 0.9
6 of the ASCEND IV mathematical modeling environment on a UNIX system.
7 For Windows, you can download precompiled binaries from our web site:
8 http://www.cs.cmu.edu/~ascend/
10 Executive summary version
11 =========================
13 If your system meets the requirements 2 through 5 below, and if
14 all those pieces lists are installed in the usual places
15 (/usr/local,/usr/bin/,/usr/lang, etc) you can probably build ASCEND by
16 typing at the unix prompt (%):
17 % ./configure
18 % cd ascend4 <--- remember to `cd'
19 % make
20 % bin/ascend4 <--- runs the program if make doesn't die.
22 When ASCEND starts, you will see a lot of startup messages, and
23 finally you should see something like:
24 Reading utilities
25 Interface Loaded.
27 -----------------------------------
28 User data directory is /usr0/ballan/ascdata
29 -----------------------------------
31 If the above does not work, you'll need to
32 % make distclean
33 in the ascend4 directory, then work through the detailed instructions
34 contained in this file.
36 Otherwise, after you've used ASCEND a little bit without
37 experiencing any run-time problems, you can boost its performance by
38 building an optimized version:
39 % cd ascend4
40 % make distclean
41 % cd ..
42 % ./configure --enable-optimization
43 % cd ascend4
44 % make
45 % bin/ascend4
47 In fact, if you're a trusting soul and are *sure* Tk, F77, etc are
48 all installed properly, you can use --enable-optimization from the
49 beginning.
51 Requirements
52 ============
54 To build and run ASCEND, you need
55 1. Some flavor of UNIX. This release of ASCEND has been built on
56 the following platforms:
57 - DEC Alpha running OSF/Digital Unix 3.2, 4.0
58 - HP9000/700 running HP-UX 9.05, 10.20
59 - IBM PowerPC running AIX 3.2, 4.2
60 - Intel x86 running RedHat Linux 4.2, 5.2, 6.1
61 - Intel x86 running NetBSD 1.1
62 - SGI Indy running Irix 6.2
63 - Sun Sparc running SunOS 4.1.x
64 - Sun Sparc running Solaris 2.5
65 2. An ANSI-C compiler and C libraries that support ANSI C.
66 3. X11. This release of ASCEND has only been built on X11r6.
67 4. Tcl/Tk 8.0.5 built and installed on your system. The official
68 Tcl/Tk 8.0 web site is off of the Scriptics Home Page:
69 http://www.scriptics.com/
70 To download Tcl/Tk 8.0 or patches, visit
71 http://www.scriptics.com/download/8.0.html
72 Tcl/Tk 8.1 is still an alpha release, and we have not tested
73 ASCEND with that preliminary release of Tcl/Tk 8.1.
74 5. Tktable v2.5 built and installed on your system, which is
75 available from the ASCEND web site and from
76 http://www.hobbs.wservice.com/tcl/capp/tkTable
77 or indirectly from
78 ftp://ftp.cs.uoregon.edu/pub/tcl/tkTable/tkTable1.80.tar.gz
79 http://www.scriptics.com in the
80 Resources / Extensions section.
81 6. yacc or bison.
82 Recommend (but not required) tools are
83 7. The flex lexer, version 2.4.1 or later.
84 8. A FORTRAN compiler (You can build ASCEND without a FORTRAN
85 compiler, but you may lose some functionality. See below.)
86 9. xgraph, a graphing program; available from the ASCEND web site.
88 ASCEND comes with a `configure' script to help you build ASCEND on
89 your favorite platform. However, the configure script is not perfect
90 and UNIX systems vary widely, so take some time to read through this
91 file to see what you must do to have ASCEND successfully build on your
92 machine.
94 The `configure' shell script attempts to guess correct values for
95 various system-dependent variables used during compilation. It uses
96 those values to create a `Makefile' in each directory of the ASCEND
97 source tree and a `ConfigAscend' file in the ascend4 directory. Also,
98 it creates a shell script `config.status' that you can run in the future
99 to recreate the current configuration of Makefiles, and a file
100 `config.log' containing compiler output (useful mainly for debugging
101 `configure').
103 The file `configure.in' is used to create `configure' by a program
104 called `autoconf'. You only need `configure.in' if you want to change
105 it or regenerate `configure' using a newer version of `autoconf'. The
106 `configure.in' that comes with ASCEND was designed to use version 2.12
107 of `autoconf'. 2.13 is known not to work with configure.in.
109 The following instructions assume you have down loaded the files
110 ascend4-0.9.tar.Z
111 tkTable2.5.tar.gz
112 from the ASCEND web site into the directory where you plan to build
113 ASCEND; we'll call that directory BUILD_DIR.
114 These instructions also assume you have down loaded the files
115 tcl8.0.5.tar.gz
116 tk8.0.5.tar.gz
117 from http://www.scriptic.com into the directory where you plan to build
118 ASCEND, OR that you work on a system where tcl/tk 8.0.5 is installed,
119 such as Redhat Linux 6.x or late 5.x.
120 Unpacking all the above files in the build directory creates the directories
121 ascendiv-0.9/
122 tcl8.0.5/
123 tk8.0.5/
124 Tktable2.5/
126 The simplest way to compile this package is:
128 1. Build and install Tcl v8.0.5. If Tcl v8.0.5 is already
129 installed, go to the next step; otherwise obtain the Tcl v8.0.5
130 distribution, unpack it, and build it following the directions
131 in the distribution. A summary of the steps to build Tcl are:
132 1a. `cd' into the `tcl8.0/unix' directory.
133 1b. Type `./configure' to configure Tcl's Makefile. If you want
134 to install Tcl in a directory other than `/usr/local', pass
135 that directory in the `--prefix' argument to `configure'. For
136 example:
137 ./configure --prefix=/full/install/path
138 If you do not plan to install ASCEND, a reasonable value for
139 the `--prefix' option is the ascend4 directory in the ASCEND
140 distribution, i.e.,
141 ./configure --prefix=BUILD_DIR/ascendiv-0.9/ascend4
142 1c. Type `make' to build Tcl.
143 1d. Type `make test' to test Tcl (optional).
144 1e. Type `make install' to install Tcl into the directory you
145 specified in the `--prefix' argument. If you do not want to
146 install the man pages, issue the command
147 make install-binaries install-libraries
148 to install only the binaries, the header file, and the *.tcl
149 files.
150 1f. Do NOT `make clean' until after you have made the Tk library.
151 1g. If you run into problems building Tcl, please consult the Tcl
152 distribution.
154 2. Build and install Tk v8.0.5. If Tk v8.0.5 is already installed,
155 go to the next step; otherwise obtain the Tk v8.0.5
156 distribution, unpack it, and build it following the directions
157 in the distribution. A summary of the steps to build Tk are:
158 2a. `cd' into the `tk8.0/unix' directory.
159 2b. Type `./configure' to configure Tk's Makefile. You should use
160 the same value for `--prefix' here as you did when building
161 Tcl.
162 2c. Type `make' to build Tk.
163 2d. Type `make test' to test Tk (optional).
164 2e. Type `make install' to install Tk into the directory you
165 specified with the `--prefix' argument. If you do not want to
166 install the man pages, issue the command
167 make install-binaries install-libraries
168 to install only the binaries, the header file, and the *.tcl
169 files.
170 2f. You can now `make clean' to remove the object files, library,
171 and executable. You can also `cd' into the `tcl8.0/unix'
172 directory and `make clean' there.
173 2g. If you run into problems building Tk, please consult the Tk
174 distribution.
176 3. Build and install TkTable v2.5. If TkTable v2.5 is already
177 installed, go to the next step; otherwise obtain the TkTable
178 v2.5 distribution, unpack it, and build it following the
179 directions in the distribution, except as noted below. A summarya
180 of the steps to build TkTable are:
181 3a. `cd' into the `Tktable2.5/src' directory.
182 3b. Type `./configure' to configure TkTable's Makefile. You
183 should use the same value for `--prefix' here as you did when
184 building Tcl and Tk. If you are using a stock redhat linux where
185 tcl/tk are installed in /usr instead of /usr/local, type
186 `./configure --prefix=/usr --with-tcl=/usr/lib --with-tk=/usr/lib'
187 3c. Type `make clean; make' to build TkTable.
188 3d. Type `make install' to install TkTable into the directory you
189 specified with the `--prefix' argument. You may need to su to root.
190 3e. You can now `make clean' to remove the object files, and
191 library.
192 3f. If you run into problems building TkTable, please consult the
193 TkTable distribution.
195 4. `cd' to the `ascendiv-0.9' directory and type `./configure' to
196 configure ASCEND for your system. If you're using `csh' on an
197 old version of System V, you might need to type `sh ./configure'
198 instead to prevent `csh' from trying to execute `configure'
199 itself.
201 Running `configure' takes awhile. While running, it prints some
202 messages telling which features it is checking for.
204 See below for arguments to pass to `configure' and for
205 explanations of the and error messages `configure' may produce.
207 5. `cd' into the `ascend4' directory and type `make'. This will
208 build any FORTRAN libraries that `configure' didn't find
209 (assuming `configure' found a FORTRAN compiler) before it builds
212 6. Once `make' successfully completes, typing `bin/ascend4' should
213 start ASCEND. Note that your `DISPLAY' environment variable
214 will need to be set to run ASCEND.
216 In the `Script' window you will see the License and Warranty for
217 ASCEND. Please read it.
219 7. If you have built ASCEND for your personal use, you can continue
220 to run ASCEND from the build directory. If you want to install
221 ASCEND elsewhere so that others may use it or to free disk
222 space, type `make install' which will install the ascend binary
223 (ascend4), the ASCEND tcl support files (found in the TK
224 directory), and the ASCEND models (found in the models
225 directory).
227 8. You can remove the program binaries and object files from the
228 source code directory by typing `make clean'. To also remove
229 the files that `configure' created (so you can compile the
230 package for a different kind of computer), type
231 `make distclean'.
233 Compilers and Options
234 =====================
236 Some systems require unusual options for compilation or linking that
237 the `configure' script does not know about. You can give `configure'
238 initial values for variables by setting them in the environment. Using
239 a Bourne-compatible shell, you can do that on the command line like
240 this:
241 CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
243 Or on systems that have the `env' program, you can do it like this:
244 env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
246 Some systems (notably newer egcs-based systems) require a little
247 manual intervention to find the right f77 support library. You may need
248 to give configure the full path for libf2c/libg2c depending on what you
249 have installed. This can happen even if configure found f77/g77 ok.
250 For additional help with FORTRAN, see section "Warnings and Errors
251 Generated by Configure." You may also need to set (for the build only)
252 the environment variable CC with the value so that configure picks up
253 the C compiler that matches your f77.
255 Warnings and Errors Generated by Configure
256 ==========================================
258 Most of the time `configure' will work properly and no intervention
259 is needed. We have developed `configure' to work around common
260 problems, in which case it prints a warning and goes on. These common
261 problems include:
263 * You do not have a recent version of the `flex' lexer.
264 In this case, `configure' will set up the Makefiles to use
265 pregenerated C files instead of running `flex' on the input files
266 ascend4/compiler/scanner.l and ascend4/interface/typelex.l. If
267 you have `flex' version 2.4.1 or newer and `configure' cannot find
268 it, set the `LEX' environment variable to the full path of your
269 `flex' program and run `configure' again.
271 * You do not have a FORTRAN77 compiler.
272 For this case, `configure' disables use of the LSODE integrator,
273 so you will not be able to integrate with ASCEND. If you have a
274 Fortran compiler that `configure' is not finding, re-run
275 `configure' with the option --with-fortran=COMPILER,LIBRARIES
276 where COMPILER is your Fortran compiler and LIBRARIES are any
277 libraries it needs. For example, under SunOS:
278 configure --with-fortran='/usr/lang/f77,-L/usr/lang/lib -lF77 -lM77'
279 If you have GNU Fortran compiler installed as `g77', configure
280 should do the right thing. If you have it installed as `f77',
281 configure may become confused because it look for the wrong set of
282 libraries. In this case, run configure with the argument
283 configure --with-fortran='g77,-lf2c'
284 If you have an old redhat f77 or f2c, you may want something like:
285 configure \
286 --with-fortran='f77,-L/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29 -lf2c'
288 * Cannot find CONOPT library nor source code.
289 CONOPT is proprietary, so we cannot distribute it, but we do
290 distribute an interface to it. To build with CONOPT, run
291 `configure' with the option --with-conopt=CONOPTLIB where
292 CONOPTLIB is the location of your CONOPT library. For example:
293 configure --with-conopt=/export/conopt/lib/libconsub.a
295 There are problems which `configure' lists as fatal errors because
296 these problems prevent you from building ASCEND. Those problems are:
298 * Cannot find ANSI C compiler.
299 We have written ASCEND in ANSI C; you'll need a compiler that
300 understands ANSI C and C libraries that implement ANSI C features
301 in order to build ASCEND. If you have an ANSI compiler that
302 `configure' is not finding, set the `CC' environment variable to
303 its location and run configure again. If you still get the error,
304 please make sure your compiler understands ANSI C and send us mail
305 so we can fix `configure'. Note that `gcc' understands ANSI C, so
306 run `configure' with the `--enable-gcc' argument which allows
307 `configure' the search for `gcc'. Also note when using `gcc'
308 under SunOS 4.1.x the link phase will fail, since the standard
309 SunOS 4.1.x setup does not provide ANSI C libraries.
311 * Cannot find compatible Tcl/Tk library or header.
312 ASCEND needs Tcl v8.0 and Tk v8.0 compatible library files and
313 header files. If you have built and installed Tcl and Tk 8.0 and
314 `configure' cannot find them, run configure again with the
315 arguments `--with-tcl=TCL_LIB,TCL_HEADER' where TCL_LIB is the
316 location of the Tcl library, and TCL_HEADER is the location of the
317 Tcl header file; a similar `--with-tk' argument exists. For
318 example,
319 configure --with-tcl='-L/usr/local/lib -ltcl,/usr/local/include/tcl.h' \
320 --with-tk='-L/usr/local/lib -ltk,/usr/local/include/tk.h'
323 ASCEND Specific Options for Configure
324 =====================================
326 `configure' accepts several options. Type `configure --help' for a
327 full list. Options of particular interest when building ASCEND are:
328 --enable-gcc
329 By default, `configure' uses the environment variable `CC', then
330 `cc', `c89', `xlf', and `acc' when searching for an ANSI C
331 compiler. This option tells `configure' to use the environment
332 variable `CC', next to look for `gcc', and then to consider the
333 other compilers as listed above when it is trying to locate an
334 ANSI C compiler.
335 --enable-optimization
336 By default, `configure' sets `CFLAGS' such that the C files are
337 built with debugging information (-g). This option turns off
338 debugging and turns on optimization and NDEBUG (-O -DNDEBUG=1).
339 --without-models
340 If `configure' finds the `models' source directory, it will
341 descend into it and create Makefiles. With this option,
342 `configure' does not create Makefiles in the `models' directory.
343 If there is no `models' source directory, this option has no
344 effect. The only purpose for the Makefiles in the `models'
345 directory is to allow the `make install' target to work.
346 --without-TK
347 Same as the `--without-models' option except is applies to the
348 `TK' subdirectory.
350 Compiling For Multiple Architectures
351 ====================================
353 You can compile ASCEND for more than one kind of computer at
354 the same time, by placing the object files for each architecture in
355 their own directory. To do this, you must use a version of `make' that
356 supports the `VPATH' variable, such as GNU `make'. `cd' to the
357 directory where you want the object files and executables to go and run
358 the `configure' script. `configure' automatically checks for the source
359 code in the directory that `configure' is in and in `..'.
361 If you have to use a `make' that does not support the `VPATH'
362 variable, you have to compile the package for one architecture at a time
363 in the source code directory. After you have installed the package for
364 one architecture, use `make distclean' before reconfiguring for another
365 architecture.
367 Installation Names
368 ==================
370 By default, `make install' will install the package's files in
371 `/usr/local/bin', `/usr/local/man', etc. You can specify an
372 installation prefix other than `/usr/local' by giving `configure' the
373 option `--prefix=PATH'.
375 You can specify separate installation prefixes for architecture-
376 specific files and architecture-independent files. If you give
377 `configure' the option `--exec-prefix=PATH', the package will use PATH
378 as the prefix for installing programs and libraries. Documentation and
379 other data files will still use the regular prefix.
381 In addition, if you use an unusual directory layout you can give
382 options like `--bindir=PATH' to specify different values for particular
383 kinds of files. Run `configure --help' for a list of the directories
384 you can set and what kinds of files go in them.
386 Note that you should use the final `apparent' resting place of the
387 files as the arguments to `--prefix' and `--exec_prefix' since these
388 options often set variables that get compiled into the binaries. When
389 you actually do `make install' to install the program, pass the `actual'
390 resting place on the `make' line. For example, if ascend appears to
391 live in /usr/local/bin/ascend but that is actually a symbolic link to
392 /afs/cs/local/ascend/@sys/omega/bin/ascend, you should:
393 configure --prefix=/usr/local
394 make
395 make install prefix=/afs/cs/local/ascend/@sys/omega
397 Optional Features
398 =================
400 For packages that use the X Window System, `configure' can usually
401 find the X include and library files automatically, but if it doesn't,
402 you can use the `configure' options `--x-includes=DIR' and
403 `--x-libraries=DIR' to specify their locations.
405 Specifying the System Type
406 ==========================
408 There may be some features `configure' can not figure out
409 automatically, but needs to determine by the type of host the package
410 will run on. Usually `configure' can figure that out, but if it prints
411 a message saying it can not guess the host type, give it the
412 `--host=TYPE' option. TYPE can either be a short name for the system
413 type, such as `sun4', or a canonical name with three fields:
416 See the file `config/config.sub' for the possible values of each field.
417 If `config/config.sub' isn't included in this package, then this package
418 doesn't need to know the host type.
420 Sharing Defaults
421 ================
423 If you want to set default values for `configure' scripts to share,
424 you can create a site shell script called `config.site' that gives
425 default values for variables like `CC', `cache_file', and `prefix'.
426 `configure' looks for `PREFIX/share/config.site' if it exists, then
427 `PREFIX/etc/config.site' if it exists. Or, you can set the
428 `CONFIG_SITE' environment variable to the location of the site script.
429 A warning: not all `configure' scripts look for a site script.
431 Operation Controls
432 ==================
434 `configure' recognizes the following options to control how it
435 operates.
437 `--help'
438 Print a summary of the options to `configure', and exit.
440 `--quiet'
441 `--silent'
442 `-q'
443 Do not print messages saying which checks are being made.
445 `--srcdir=DIR'
446 Look for the package's source code in directory DIR. Usually
447 `configure' can determine that directory automatically.
449 `--version'
450 Print the version of Autoconf used to generate the `configure'
451 script, and exit.
453 `configure' also accepts some other, not widely useful, options.
456 ========================================================================
457 Getting Help
458 ========================================================================
460 To get help in building ASCEND, please send email to
461 ascend+build@edrc.cmu.edu or fill in the form on the contact page off
462 our home page: http://www.cs.cmu.edu/~ascend/
463 If your mailer can't cope with the + in the address, send the
464 information requested on the form to ascend-www@vagu.edrc.cmu.edu.
467 ========================================================================
468 Administrivia
469 ========================================================================
471 $Revision: 1.8 $
472 $Date: 2000/01/25 02:13:24 $
473 $Source: /afs/cs.cmu.edu/project/ascend/Repository/INSTALL,v $
475 Local Variables:
476 mode: text
477 fill-column: 72
478 indent-tabs-mode: nil
479 End:

ViewVC Help
Powered by ViewVC 1.1.22