1 |
BUILDING AND INSTALLING ASCEND |
2 |
|
3 |
Thanks for downloading ASCEND! We hope you'll find it straight- |
4 |
forward to set up and run ASCEND. If you have any comments on |
5 |
your experience with this, we're very keen to hear about that. |
6 |
Please check out the up-to-date contact details at: |
7 |
https://ascendserver.cheme.cmu.edu/wiki/ |
8 |
|
9 |
There are older versions of this document, which include instructions |
10 |
on how to build ASCEND with GNU Autotools. This may or may not work |
11 |
with the version you are currently looking at. |
12 |
https://ascendserver.cheme.cmu.edu/svn/ascend/code/branches/extfn/INSTALL.txt?view=log |
13 |
|
14 |
----- |
15 |
BUILDING ON LINUX AND WINDOWS |
16 |
|
17 |
To build ASCEND we now recommend using SCons. This is supported |
18 |
both on Windows (using the MinGW toolset) and Linux. Build scripts for using |
19 |
jam and GNU Autotools are also provided although these scripts will not allow |
20 |
you access to the full range of ASCEND functionality. The Autotools |
21 |
scripts will only build the tcl/tk interface version. |
22 |
|
23 |
ASCEND provides two possible interfaces. The older, more mature |
24 |
GUI is based on Tcl/Tk. A newer interface that is more in keeping |
25 |
with modern GUI design is implemented using PyGTK, but it is still |
26 |
missing some functionality and actively being developed. |
27 |
|
28 |
Using SCons 0.96.92 or newer, see your build options by typing |
29 |
|
30 |
scons -Qh |
31 |
|
32 |
You can add your build options to a file in this directory |
33 |
which you can create, called 'config.py'. Otherwise you can |
34 |
specify your build options via the commandline. By default they will |
35 |
be recorded in the file 'options.cache', so watch out for that if scons |
36 |
seems to not be doing what you expected. |
37 |
|
38 |
Then to build ASCEND, type |
39 |
|
40 |
scons |
41 |
|
42 |
SCons will tell you what version(s) of ASCEND it is able to build, and then |
43 |
proceed to start the build. The PyGTK interface requires Python (which is |
44 |
already present if you have SCons!). The Tcl/Tk interface requires that you |
45 |
have Tcl/Tk and TkTable installed on your system. |
46 |
|
47 |
For updates on this information, and PLATFORM-SPECIFIC INFORMATION, please check |
48 |
http://ascendserver.cheme.cmu.edu/wiki/index.php/BuildingAscend |
49 |
|
50 |
For specific information on building the Python interface and |
51 |
setting up the PyGTK GUI, please see |
52 |
http://ascendserver.cheme.cmu.edu/wiki/index.php/PythonWrapper |
53 |
|
54 |
------ |
55 |
BUILDING ON SOLARIS |
56 |
|
57 |
Some work has been done on building on Solaris, using Python 2.3. At present |
58 |
it's pretty close but not yet stable. If you can help out, let us know. |
59 |
|
60 |
------ |
61 |
RUNNING FOR THE FIRST TIME |
62 |
|
63 |
If you've build ASCEND from source, you don't need to 'install' |
64 |
it before you can run it. The main issue with running from the |
65 |
source directories is that you need to set various environment |
66 |
variables: |
67 |
|
68 |
ASCENDLIBRARY |
69 |
Location of the 'models' directory, eg ~/src/ascend-NNN/models |
70 |
|
71 |
LD_LIBRARY_PATH |
72 |
Must contain the paths to the ascend shared libraries, in |
73 |
particular libascend.so, or for the Tcl/Tk interface, also |
74 |
libascendtcl.so. |
75 |
|
76 |
It can often be easier to simply install in your home directory |
77 |
as shown below. |
78 |
|
79 |
------ |
80 |
ISSUES WITH THE TCL/TK INTERFACE |
81 |
|
82 |
It can sometimes be a bit challenging to build the Tcl/Tk |
83 |
interface. ASCEND can run with Tcl/Tk version 8.4 but it is more stable when |
84 |
using Tcl/Tk version 8.3. |
85 |
|
86 |
A suggested approach in this case is to download and install the 'ActiveTcl' |
87 |
distribution, version 8.3.5, and to install it in ~/activetcl. |
88 |
http://downloads.activestate.com/ActiveTcl/Windows/8.3.5/ |
89 |
|
90 |
Then, you should be able to build the Tcl/Tk interface as shown: |
91 |
|
92 |
export LD_LIBRARY_PATH=~/activetcl/lib:~/activetcl/lib/Tktable2.8 |
93 |
scons TCL=~/activetcl |
94 |
|
95 |
See also the TCL_LIB and TK_LIB flags (scons -Qh). |
96 |
|
97 |
------ |
98 |
INSTALLING ON LINUX |
99 |
|
100 |
To then install ASCEND, you will need to have write access to the |
101 |
directories INSTALL_* as specified in your SCons configuration. |
102 |
You can then type: |
103 |
|
104 |
scons install |
105 |
|
106 |
The simplest way to install ASCEND 'off-root' is something like: |
107 |
|
108 |
scons INSTALL_PREFIX=~/ascroot |
109 |
|
110 |
Note that if you install (or run) ASCEND off-root, you need to |
111 |
ensure that Linux can access the shared libraries. For example, |
112 |
in the above case, you would need to add |
113 |
|
114 |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/ascroot/lib |
115 |
|
116 |
------ |
117 |
INSTALLING ON WINDOWS |
118 |
|
119 |
To build a Windows installer (a 'setup.exe') for the PyGTK GUI, |
120 |
you will need to have the NSIS installer-creator installed on |
121 |
your system (which is free, at http://nsis.sf.net/). Then you |
122 |
should simply need to type |
123 |
|
124 |
scons installer |
125 |
|
126 |
This will leave an installer package named 'ascend-NNNNN.exe' |
127 |
in the pygtk/interface directory, with NNNNN being the version number specified |
128 |
at the top of the SConstruct file. |
129 |
|
130 |
------ |
131 |
A NOTE ABOUT PREFERENCES |
132 |
|
133 |
ASCEND PyGTK GUI stores your preferences in the file ~/.ascend.ini. |
134 |
The Tcl/Tk GUI creates a file under ~/ascdata. |
135 |
You may wish to check these files if ASCEND seems to be doing |
136 |
something you didn't expect. |
137 |
|
138 |
------ |
139 |
CREATING AN RPM/DEB PACKAGE |
140 |
|
141 |
Many users prefer to keep their systems clear of unpackaged |
142 |
software. For this reason, we aim to provide the ability to build |
143 |
ASCEND as an RPM package. There is a "SPEC" file included in the |
144 |
source tree. If you have a source package, such as for example |
145 |
ascend-NNNNN.tar.bz2, place it in your home directory, then |
146 |
type the following |
147 |
|
148 |
rpmbuild -ta ascend-NNNNN.tar.bz2 |
149 |
|
150 |
This will pull out the 'spec' from from the source package, |
151 |
which hopefully will be up to date in correspondance with the |
152 |
package version number NNNNN. |
153 |
|
154 |
You will then be able to install ASCEND using something like |
155 |
|
156 |
rpm -i ~/rpm/ascend-NNNNN-0.jdpipe.i386.rpm |
157 |
|
158 |
Debian/Unbuntu users should find that they can create a usable |
159 |
.deb package using the tool 'alien'. We haven't got native |
160 |
support for the generation of .deb packages at this stage. |
161 |
|
162 |
NOTE: occasionally the 'ascend.spec' file may need to be updated |
163 |
if changes have been made to the 'ascend.spec.in' file. Check |
164 |
the implementation details in the SConstruct file. |
165 |
|
166 |
------ |
167 |
GETTING SUPPORT AND FURTHER INFORMATION |
168 |
|
169 |
For support with ASCEND, details of mailing lists and other |
170 |
useful information, please visit |
171 |
|
172 |
ASCEND user's website: |
173 |
http://ascend.cheme.cmu.edu/ |
174 |
|
175 |
ASCEND developer's wiki: |
176 |
https://ascendserver.cheme.cmu.edu/wiki/ |
177 |
|