| 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://pse.cheme.cmu.edu/wiki/view/Ascend/WebHome |
| 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://pse.cheme.cmu.edu/svn-view/ascend/code/trunk/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 |
https://pse.cheme.cmu.edu/wiki/view/Ascend/BuildingAscend |
| 49 |
|
| 50 |
For specific information on building the Python interface and |
| 51 |
setting up the PyGTK GUI, please see |
| 52 |
https://pse.cheme.cmu.edu/wiki/view/Ascend/PythonWrapper |
| 53 |
|
| 54 |
------ |
| 55 |
RUNNING FOR THE FIRST TIME |
| 56 |
|
| 57 |
If you've build ASCEND from source, you don't need to 'install' |
| 58 |
it before you can run it. The main issue with running from the |
| 59 |
source directories is that you need to set various environment |
| 60 |
variables: |
| 61 |
|
| 62 |
ASCENDLIBRARY |
| 63 |
Location of the 'models' directory, eg ~/src/ascend-NNN/models |
| 64 |
|
| 65 |
LD_LIBRARY_PATH |
| 66 |
Must contain the paths to the ascend shared libraries, in |
| 67 |
particular libascend.so, or for the Tcl/Tk interface, also |
| 68 |
libascendtcl.so. |
| 69 |
|
| 70 |
It can often be easier to simply install in your home directory |
| 71 |
as shown below. |
| 72 |
|
| 73 |
------ |
| 74 |
ISSUES WITH THE TCL/TK INTERFACE |
| 75 |
|
| 76 |
It can sometimes be a bit challenging to build the Tcl/Tk |
| 77 |
interface. ASCEND can run with Tcl/Tk version 8.4 but it is more stable when |
| 78 |
using Tcl/Tk version 8.3. |
| 79 |
|
| 80 |
A suggested approach in this case is to download and install the 'ActiveTcl' |
| 81 |
distribution, version 8.3.5, and to install it in ~/activetcl. |
| 82 |
http://downloads.activestate.com/ActiveTcl/Windows/8.3.5/ |
| 83 |
|
| 84 |
Then, you should be able to build the Tcl/Tk interface as shown: |
| 85 |
|
| 86 |
export LD_LIBRARY_PATH=~/activetcl/lib:~/activetcl/lib/Tktable2.8 |
| 87 |
scons TCL=~/activetcl |
| 88 |
|
| 89 |
See also the TCL_LIB and TK_LIB flags (scons -Qh). |
| 90 |
|
| 91 |
------ |
| 92 |
INSTALLING ON LINUX |
| 93 |
|
| 94 |
To then install ASCEND, you will need to have write access to the |
| 95 |
directories INSTALL_* as specified in your SCons configuration. |
| 96 |
You can then type: |
| 97 |
|
| 98 |
scons install |
| 99 |
|
| 100 |
The simplest way to install ASCEND 'off-root' is something like: |
| 101 |
|
| 102 |
scons INSTALL_PREFIX=~/ascroot |
| 103 |
|
| 104 |
Note that if you install (or run) ASCEND off-root, you need to |
| 105 |
ensure that Linux can access the shared libraries. For example, |
| 106 |
in the above case, you would need to add |
| 107 |
|
| 108 |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/ascroot/lib |
| 109 |
|
| 110 |
------ |
| 111 |
INSTALLING ON WINDOWS |
| 112 |
|
| 113 |
To build a Windows installer (a 'setup.exe') for the PyGTK GUI, |
| 114 |
you will need to have the NSIS installer-creator installed on |
| 115 |
your system (which is free, at http://nsis.sf.net/). Then you |
| 116 |
should simply need to type |
| 117 |
|
| 118 |
scons installer |
| 119 |
|
| 120 |
This will leave an installer package named 'ascend-NNNNN.exe' |
| 121 |
in the pygtk/interface directory, with NNNNN being the version number specified |
| 122 |
at the top of the SConstruct file. |
| 123 |
|
| 124 |
------ |
| 125 |
A NOTE ABOUT PREFERENCES |
| 126 |
|
| 127 |
ASCEND PyGTK GUI stores your preferences in the file ~/.ascend.ini. |
| 128 |
The Tcl/Tk GUI creates a file under ~/ascdata. |
| 129 |
You may wish to check these files if ASCEND seems to be doing |
| 130 |
something you didn't expect. |
| 131 |
|
| 132 |
------ |
| 133 |
CREATING AN RPM/DEB PACKAGE |
| 134 |
|
| 135 |
Many users prefer to keep their systems clear of unpackaged |
| 136 |
software. For this reason, we aim to provide the ability to build |
| 137 |
ASCEND as an RPM package. There is a "SPEC" file included in the |
| 138 |
source tree. If you have a source package, such as for example |
| 139 |
ascend-NNNNN.tar.bz2, place it in your home directory, then |
| 140 |
type the following |
| 141 |
|
| 142 |
rpmbuild -ta ascend-NNNNN.tar.bz2 |
| 143 |
|
| 144 |
This will pull out the 'spec' from from the source package, |
| 145 |
which hopefully will be up to date in correspondance with the |
| 146 |
package version number NNNNN. |
| 147 |
|
| 148 |
You will then be able to install ASCEND using something like |
| 149 |
|
| 150 |
rpm -i ~/rpm/ascend-NNNNN-0.jdpipe.i386.rpm |
| 151 |
|
| 152 |
Debian/Unbuntu users should find that they can create a usable |
| 153 |
.deb package using the tool 'alien'. We haven't got native |
| 154 |
support for the generation of .deb packages at this stage. |
| 155 |
|
| 156 |
NOTE: occasionally the 'ascend.spec' file may need to be updated |
| 157 |
if changes have been made to the 'ascend.spec.in' file. Check |
| 158 |
the implementation details in the SConstruct file. |
| 159 |
|
| 160 |
------ |
| 161 |
GETTING SUPPORT AND FURTHER INFORMATION |
| 162 |
|
| 163 |
For support with ASCEND, details of mailing lists and other |
| 164 |
useful information, please visit |
| 165 |
|
| 166 |
ASCEND user's website: |
| 167 |
http://ascend.cheme.cmu.edu/ |
| 168 |
|
| 169 |
ASCEND developer's wiki: |
| 170 |
https://pse.cheme.cmu.edu/wiki/view/Ascend/WebHome |