1---------------------------------------------- 2ECLiPSe - Constraint Logic Programming System 3---------------------------------------------- 4 5----------------------------------------------------------------------------- 6ECLiPSe on UNIX/Linux (see README_WIN for Windows, README_MACOSX for MacOSX) 7----------------------------------------------------------------------------- 8 9***Please read INSTALL first if you are compiling from source. You do not 10need the binary files described here. 11 12Unpacking 13--------- 14 15You should have gotten the following files, either on CD or by ftp. 16There are different versions of these files for different machine 17architectures. These are tar-files compressed with gzip. 18 19If you are downloading from SourceForge, these file names may have 20additional version (and platform) specification like 21 22 eclipse_basic_5_10_57_i386_linux.tgz 23 24that are required to make the filename unique. 25 26Base: 27 README_UNIX The file you are reading now 28 eclipse_basic.tgz Kernel and basic libraries 29 eclipse_doc.tgz Documentation (html,txt,man,pdf) 30 31Optional: 32 eclipse_misc.tgz Free/3rd party libraries 33 if_osiclpcbc.tgz Interface to COIN-OR's open source solvers 34 CLP and CBC 35 if_osisymclp.tgz Interface to COIN-OR's open source solvers 36 SYMPHONY and CLP (prototype, not available 37 on some platforms) 38 39Support: 40 tcltk.tgz A matching Tcl/Tk release (8.5) 41 (you may have that already). 42 Needed for the tkeclipse development GUI. 43 editors_eclipse_support.tgz Support for various editors for editing 44 ECLiPSe code. 45 46These other files are only needed under special circumstances: 47 eclipse_rt.tgz Runtime only (subset of eclipse_basic.tgz) 48 if_xpressXY.tgz Interface to XPRESS-MP version XY 49 50 51Make a directory for ECLiPSe on your machine (in the following 52we will write this directory as <eclipsedir>) and move the 53distribution files there. 54 55Uncompress and untar the files in this directory using tar, e.g. 56 57 % tar xpfz eclipse_basic.tgz 58 59or, if your version of tar doesn't support the z option, use 60 61 % gunzip -c eclipse_basic.tgz | tar xpf - 62 63Do the same for all the .tgz files you have downloaded. 64 65This will create the ECLiPSe directory structure below the 66current directory. 67 68Note that you can always add optional components later without 69having to repeat the installation process below. 70 71 72Installation 73------------ 74 75If you are installing from source, first compile ECLiPSe as described in 76the file INSTALL (see also the file document/internal/SetupGuide.doc for 77more detailed help). After compiling ECLiPSe, you can run the installation 78script as described below. 79 80If you are installing from the binary packages, run the installation script: 81 82 % ./RUNME 83 84This will prompt you for the necessary information and create 85the eclipse executables in <eclipsedir>/bin/<arch> (where <arch> 86stands for one of the supported machine architectures). 87 88 89To run ECLiPSe 90-------------- 91 92Add <eclipsedir>/bin/<arch> to your PATH, e.g. 93 94 % PATH=$PATH:/usr/local/eclipse/bin/sparc_sunos5 (sh/bash) 95 or 96 % setenv path ($path /usr/local/eclipse/bin/sparc_sunos5) (csh) 97 98It is normally not necessary to set any environment variables in order 99to run eclipse. ECLiPSe is simply called from the command line as: 100 101 % eclipse (command-line interface) 102or 103 % tkeclipse (GUI version, needs Tcl/Tk) 104 105If you use the ECLiPSe embeddable library, your may have to set 106$LD_LIBRARY_PATH to include <eclipsedir>/lib/<arch> to enable 107the dynamic linker to find it. 108 109 110Further notes on installation 111----------------------------- 112 113The ECLiPSe installation directory may be shared between machines 114with different hardware/operating system architectures, e.g. 115i386_linux and sparc_sunos5. To do so, just unpack the distributions 116for the different architectures in the same installation directory. 117All architecture-dependent files will go in separate subdirectories. 118 119When you are doing the installation on a networked file system, it is 120recommended that you specify to the installation script a pathname 121under which the directory can be found on all the client machines. 122If there is no such unique pathname, then users will have to set the 123environment variable ECLIPSEDIR according to where the directory can 124be found on the machine they are on. 125 126 127Documentation 128------------- 129 130The installation subdirectory <eclipsedir>/doc contains html and pdf 131versions of the user documentation. To read the html documentation, 132set your browser to e.g. 133 134 file:<eclipsedir>/doc/index.html 135 136 137The printable documentation is contained in the files: 138 139 tutorial.pdf Tutorial 140 141 userman.pdf Basic user manual 142 143 libman.pdf Library user manual (constraints libraries) 144 145 embedding.pdf Interfacing and embedding manual 146 147The Reference Manual (the detailed descriptions of the built-in 148predicates and all the libraries) is available exclusively in html 149format and via the help/1 predicate from within ECLiPSe. 150 151Unix man pages are under 152 153 <eclipsedir>/man 154 155 156Installation hints for the 'eplex' library 157---------------------------------------------- 158 159The ECLiPSe 'eplex' library is an interface to an external LP/MIP solver, 160which can be either an open-source COIN-OR solver (www.coin-or.org), or a 161commercial Xpress-MP or CPLEX solver. 162 163For the COIN-OR solvers, you do not need a licence to use them. For 164Xpress-MP or CPLEX, you need to own a separate Xpress-MP or CPLEX licence 165to use the 'eplex' library with the corresponding solver. In this case, you 166need to download a version of 'eplex' that matches the version of the 167Xpress-MP licence that you have (although it may be possible to 168run an older version with a newer licence). For example, for Xpress-MP X.Y, 169you need the package if_xpressXY.tgz. You can install a mix of different 170versions by just unpacking multiple packages. 171 172Note that we no longer distribute the CPLEX solver for eplex in binary 173form, as the CPLEX library is statically linked. You need to compile 174ECLiPSe from source if you want to use CPLEX with the `eplex' library. 175 176To tell ECLiPSe which licence you have on which machine, add the 177necessary lines to the text file <eclipsedir>/lib/eplex_lic_info.ecl, 178according to the instructions provided there. With this setup, you 179can load the eplex library from ECLiPSe by just invoking lib(eplex), 180and you will get the correct version for each machine. 181 182Academic licences for CPLEX are available from ILOG at 183 http://www.ilog.com/partners/academic/license.cfm 184Academic licences for XPRESS-MP are available from Dash Optimization at 185 http://www.dashoptimization.com/home/users/app.html 186 187 188Installation hints for the 'dbi' library 189----------------------------------------- 190 191The ECLiPSe 'dbi' library is an interface to an external 192database. Currently the MySQL database is supported. Because of licensing 193issues, we do not include the MySQL dynamic library (libmysqlclient.so) in 194our binary distributions. You will need to obtain these libraries from 195MySQL AB: 196 197 http://dev.mysql.com/downloads 198 199When 'dbi' is loaded (for example by lib(dbi)), it will need to find 200and load this MySQL dynamic library. If it is in one of the standard system 201library paths (such as /usr/lib), then the library can be loaded without 202further action. Otherwise, you can either: 203 204 1) Add the pathname of where your libmysqlclient.so is to your shell's 205 LD_LIBRARY_PATH environment variable, e.g. if the library is located in 206 '/my/mysql/lib', and you are using bash shell: 207 208 export LD_LIBRARY_PATH=/my/mysql/lib:$LD_LIBRARY_PATH 209or: 210 2) Copy libmysqlclient.so* files to where your ECLiPSe dynamic libraries 211 are, i.e. <eclipsedir>/lib/<arch>. Remember that libmysqlclient.so may 212 just be a pointer to the real version specific library 213 (e.g. libmysqlclient.so.15.0.0). 214 215You need to be able to connect to a running MySQL server in order to use 216the library. This can be on your local machine, or on a remote machine 217reachable from your network. 218 219 220Graphics 221-------- 222 223The Embedding Interface and the TkEclipse Development Environment require 224Tcl/Tk version 8.3 or later. If this is already installed on your machine 225(normally the case on Linux), you can use your existing installation by 226giving the version and the location of the corresponding library 227directories (e.g. /usr/lib) to the RUNME install program. 228 229Alternatively, you can use the tcltk.tgz package which comes with the 230ECLiPSe distribution. This goes into the tcltk subdirectory of the 231ECLiPSe installation. To make Tcl/Tk/scripts find the files, you 232may have to add <eclipsedir>/tcltk/<arch>/bin to your PATH and 233possibly add <eclipsedir>/tcltk/<arch>/lib to your $LD_LIBRARY_PATH. 234 235Several visualisation features require Java. The recommended version 236is at least 1.4, but versions from 1.2 upwards should still work. 237 238 239Emacs ECLiPSe mode 240------------------ 241 242If you use the GNU emacs editor, an ECLiPSe mode is now provided for it. 243It is not part of the ECLiPSe distribution, and you need to download it 244separately. **Version 20 (or later) of GNU emacs is required.** 245This mode is based on the prolog mode by Umeda, and provides extensive 246syntax colouring for ECLiPSe-specific features. See http://www.gnu.org/ 247if you need more information on GNU and its software. 248 249In order to use this mode, add the following line to your .emacs file: 250 251(autoload 'eclipse-mode "<eclipsedir>/lib_public/eclipse.el" "ECLIPSE editing mode" t) 252 253where <eclipsedir> is the path to your ECLiPSe installation directory. 254 255You may also need to add these lines so that the .pl and .ecl extensions 256are recognised to be ECLiPSe programs: 257 258(setq auto-mode-alist (cons '("\\.pl" . eclipse-mode) auto-mode-alist)) 259(setq auto-mode-alist (cons '("\\.ecl" . eclipse-mode) auto-mode-alist)) 260 261The eclipse.el file needs to be placed somewhere where your emacs can find 262it. 263 264See the start of the eclipse.el file for some instructions on using this mode. 265 266 267---------------------------------------------- 268General Topics 269---------------------------------------------- 270 271Contact Addresses 272----------------- 273 274News about ECLiPSe are available from the following sources 275 276 http://www.eclipseclp.org 277 278 http://www.sourceforge.net/projects/eclipse-clp 279 280 comp.constraints (via news server or e.g. groups.google.com) 281 282Via http://www.eclipseclp.org/mailinglist.html you can subscribe to 283one of the ECLiPSe mailing lists 284 285 eclipse-clp-announce@lists.sf.net (release announcements) 286 eclipse-clp-users@lists.sf.net (user discussion) 287 288Problem and bug reports can be submitted via the web site 289 290 http://www.eclipseclp.org/bugs.html 291 292Please take the time to report problems. Your feedback helps us to 293make ECLiPSe more reliable! 294 295 296Directory structure 297------------------- 298 299Directories in the binary distribution: 300 301 bin executable files 302 lib supported libraries, object files 303 lib_public third party Prolog libraries 304 include include files for C/C++ interface 305 doc online documentation, pdf files and example code 306 man Unix-style man pages 307 308 tcltk a matching version of Tcl/Tk 309 310