ViewVC logotype

Annotation of /trunk/INSTALL

Parent Directory Parent Directory | Revision Log Revision Log

Revision 1 - (hide 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 aw0a 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
210     ASCEND.
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