ViewVC logotype

Annotation of /trunk/INSTALL

Parent Directory Parent Directory | Revision Log Revision Log

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

ViewVC Help
Powered by ViewVC 1.1.22