README_BARRELFISH
1/*
2 * Copyright (c) 2016, ETH Zurich.
3 * All rights reserved.
4 *
5 * This file is distributed under the terms in the attached LICENSE file.
6 * If you do not find this file, copies can be found by writing to:
7 * ETH Zurich D-INFK, Universitaetstr. 6, CH-8092 Zurich. Attn: Systems Group.
8 */
9
10To compile ECLIPSE CLP on Barrelfish ARMv7 the following files had to be changed:
11
12
13eclipseclp/Kernel/src/elipsys_fd.c:43
14
15add the following after the includes:
16
17#if defined(BARRELFISH) && defined(__ARM_ARCH_7A__) && defined(false)
18#undef false
19#endif
20
21
22eclipseclp/icparc_solvers/ic.c:69
23
24add the following after the includes
25
26#if defined(BARRELFISH) && defined(__ARM_ARCH_7A__) && defined(bool)
27#undef bool
28#endif
README_MACOSX
1----------------------------------------------
2ECLiPSe - Constraint Logic Programming System
3----------------------------------------------
4
5---------------------------------------------------------------------------
6ECLiPSe on MacOSX (see README_WIN for Windows, README_UNIX for UNIX/Linux)
7---------------------------------------------------------------------------
8
9***Please read INSTALL first if you are compiling from source. You do not
10need the binary files described here.
11
12Note that the PowerPC and Intel versions of Mac OS X are distinguished by
13ECLiPSe; the Power PC version is ppc_macosx, and the Intel version is
14i386_macosx. (32 bit) and x86_64_macosx (64 bit).
15
16Unpacking
17---------
18
19You should have gotten the following files, either on CD or by ftp.
20There are different versions of these files for different machine
21architectures. These are tar-files compressed with gzip.
22
23If you are downloading from SourceForge, these file names may have
24additional version (and platform) specification like
25
26 eclipse_basic_5_10_57_i386_linux.tgz
27
28that are required to make the filename unique.
29
30Base:
31 eclipse_basic.tgz Kernel and basic libraries
32 (either the i386_macosx or ppc_macox version,
33 depending on your platform)
34 eclipse_doc.tgz Documentation (html,txt,man,pdf)
35
36Optional:
37 eclipse_misc.tgz Free/3rd party libraries
38 if_osiclpcbc.tgz Interface to COIN-OR's open source solvers
39 CLP and CBC
40
41Support:
42 tcltk.tgz A matching Tcl/Tk release (8.5)
43 (you may have that already - but this version
44 has X11 support, and Mac Tcl/Tk 8.5 prior to
45 8.5.7 has a bug and does not work with ECLiPSe)
46 Needed for the tkeclipse development GUI.
47 editors_eclipse_support.tgz Support for various editors for editing
48 ECLiPSe code.
49
50These other files are only needed under special circumstances:
51 eclipse_rt.tgz Runtime only (subset of eclipse_basic.tgz)
52
53
54Note: The unpacking and installation of ECLiPSe is done using Unix
55methods. We are not yet providing some Mac-specific method of packaging
56ECLiPSe.
57
58Make a directory for ECLiPSe on your machine (in the following
59we will write this directory as <eclipsedir>) and move the
60distribution files there.
61
62Uncompress and untar the files in this directory using tar, e.g.
63
64 % tar xpfz eclipse_basic.tgz
65
66or, if your version of tar doesn't support the z option, use
67
68 % gunzip -c eclipse_basic.tgz | tar xpf -
69
70Do the same for all the .tgz files you have downloaded.
71
72This will create the ECLiPSe directory structure below the
73current directory. [replace eclipse_basic.tgz with the name of the package
74you are untaring]
75
76Note that you can always add optional components later without
77having to repeat the installation process below.
78
79
80Installation
81------------
82
83If you are installing from source, first compile ECLiPSe as described in
84the file INSTALL (see also the file document/internal/SetupGuide.doc for
85more detailed help). After compiling ECLiPSe, you can run the installation
86script as described below.
87
88If you are installing from the binary packages, run the installation script:
89
90 % ./RUNME
91
92This will prompt you for the necessary information and create
93the eclipse executables in <eclipsedir>/bin/<arch> (where <arch>
94stands for one of the supported machine architectures).
95
96
97To run ECLiPSe
98--------------
99
100Add <eclipsedir>/bin/<arch> to your PATH, e.g.
101
102 % PATH=$PATH:/usr/local/eclipse/bin/ppc_macosx (sh/bash)
103 or
104 % setenv path ($path /usr/local/eclipse/bin/ppc_macosx) (csh)
105
106It is normally not necessary to set any environment variables in order
107to run eclipse. ECLiPSe is simply called from the command line as:
108
109 % eclipse (command-line interface)
110or
111 % tkeclipse (GUI version for Aqua, needs Aqua Tcl/Tk)
112or
113 % xtkeclipse (GUI version for X11, needs X11 and X11 Tcl/Tk)
114
115If you use the ECLiPSe embeddable library, your may have to set
116DYLD_LIBRARY_PATH to include <eclipsedir>/lib/<arch> to enable
117the dynamic linker to find it.
118
119
120Further notes on installation
121-----------------------------
122
123The ECLiPSe installation directory may be shared between machines
124with different hardware/operating system architectures, e.g.
125i386_linux and sparc_sunos5. To do so, just unpack the distributions
126for the different architectures in the same installation directory.
127All architecture-dependent files will go in separate subdirectories.
128
129When you are doing the installation on a networked file system, it is
130recommended that you specify to the installation script a pathname
131under which the directory can be found on all the client machines.
132If there is no such unique pathname, then users will have to set the
133environment variable ECLIPSEDIR according to where the directory can
134be found on the machine they are on.
135
136
137Documentation
138-------------
139
140The installation subdirectory <eclipsedir>/doc contains html and pdf
141versions of the user documentation. To read the html documentation,
142set your browser to e.g.
143
144 file:<eclipsedir>/doc/index.html
145
146
147The printable documentation is contained in the files:
148
149 tutorial.pdf Tutorial
150
151 userman.pdf Basic user manual
152
153 libman.pdf Library user manual (constraints libraries)
154
155 embedding.pdf Interfacing and embedding manual
156
157The Reference Manual (the detailed descriptions of the built-in
158predicates and all the libraries) is available exclusively in html
159format and via the help/1 predicate from within ECLiPSe.
160
161Unix man pages are under
162
163 <eclipsedir>/man
164
165
166Graphics
167--------
168
169The Embedding Interface and the TkEclipse Development Environment require
170Tcl/Tk version 8.3 or later. If this is already installed on your machine,
171you can use your existing installation by giving the version and the
172location of the corresponding library directories (e.g. /usr/lib) to the
173RUNME install program.
174
175Some functions for TkECLiPSe are accessed through the right-mouse button.
176If you have the standard one-button mouse from Apple, you can still access
177these functions with control-clicking the mouse button instead.
178
179On MacOSX, TkEclipse is available in both the native Aqua and X11 windowing
180environments. You need to have X11 installed to run the X11 version. In
181recent versions of MacOSX, Tcl/Tk (for Aqua) is installed by default. The
182tcltk.tgz package includes X11 version of Tcl/Tk, which is not available
183by default. The Aqua version of Tcl/Tk included in tcltk.tgz may also
184be newer than the default version, and is known to work with ECLiPSe
185(Tcl/Tk 8.5 for Mac OS X prior to 8.5.7 has a known bug that prevents it
186from working with ECLiPSe). If you want to use your own version of Tcl/Tk,
187you can also download Tcl/Tk in either source or binary form from links at
188www.tcl.tk.
189
190X11 is shipped with recent versions of MacOSX, and can be downloaded free
191of charge for older versions of MacOSX.
192
193Several visualisation features require Java. The recommended version
194is at least 1.4, but versions from 1.2 upwards should still work.
195
196Emacs ECLiPSe mode
197------------------
198
199If you use the GNU emacs editor, an ECLiPSe mode is now provided for it.
200It is not part of the ECLiPSe distribution, and you need to download it
201separately. **Version 20 (or later) of GNU emacs is required.** This mode
202is based on the prolog mode by Umeda, and provides extensive syntax
203colouring for ECLiPSe-specific features. See http://www.gnu.org/ if you
204need more information on GNU and its software.
205
206In order to use this mode, add the following line to your .emacs file:
207
208(autoload 'eclipse-mode "<eclipsedir>/lib_public/eclipse.el" "ECLIPSE editing mode" t)
209
210where <eclipsedir> is the path to your ECLiPSe installation directory.
211
212You may also need to add these lines so that the .pl and .ecl extensions
213are recognised to be ECLiPSe programs:
214
215(setq auto-mode-alist (cons '("\\.pl" . eclipse-mode) auto-mode-alist))
216(setq auto-mode-alist (cons '("\\.ecl" . eclipse-mode) auto-mode-alist))
217
218The eclipse.el file needs to be placed somewhere where your emacs can find
219it.
220
221See the start of the eclipse.el file for some instructions on using this mode.
222
223
224----------------------------------------------
225General Topics
226----------------------------------------------
227
228Contact Addresses
229-----------------
230
231News about ECLiPSe are available from the following sources
232
233 http://www.eclipseclp.org
234
235 http://www.sourceforge.net/projects/eclipse-clp
236
237 comp.constraints (via news server or e.g. groups.google.com)
238
239Via http://www.eclipseclp.org/mailinglist.html you can subscribe to
240one of the ECLiPSe mailing lists
241
242 eclipse-clp-announce@lists.sf.net (release announcements)
243 eclipse-clp-users@lists.sf.net (user discussion)
244
245Problem and bug reports can be submitted via the web site
246
247 http://www.eclipseclp.org/bugs.html
248
249Please take the time to report problems. Your feedback helps us to
250make ECLiPSe more reliable!
251
252
253Directory structure
254-------------------
255
256Directories in the binary distribution:
257
258 bin executable files
259 lib supported libraries, object files
260 lib_public third party Prolog libraries
261 include include files for C/C++ interface
262 doc online documentation, pdf files and example code
263 man Unix-style man pages
264
265 tcltk a matching version of Tcl/Tk
266
267
README_UNIX
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
README_WIN.TXT
1----------------------------------------------
2ECLiPSe - Constraint Logic Programming System
3----------------------------------------------
4
5-----------------------------------------------------------------------------
6ECLiPSe on Windows (see README_UNIX for UNIX/Linux, README_MACOSX for MacOSX)
7-----------------------------------------------------------------------------
8
9*** These instructions are for installing a binary distribution!
10*** If you want to compile from source, see the file INSTALL,
11*** and document/internal/SetupGuide.pdf for more detailed help.
12
13ECLiPSe for Windows should be run on Windows XP/Vista/7 or newer;
14earlier versions may have restricted functionality.
15
16For 32-bit Windows use the "i386_nt" distribution of ECLiPSe.
17For 64-bit Windows use the "x86_64_nt" distribution of ECLiPSe.
18
19
20--------------------------------------
21Using the Windows Installer
22--------------------------------------
23
24For the most common Windows install configurations, use the ECLiPSe
25Windows Installer. To do so, download and execute the single file
26
27 ECLiPSe<Version>_<Build>.exe
28
29Run this installer program as a user with "administrator" rights.
30
31The installer contains the ECLiPSe kernel, basic libraries,
32and the following optional packages:
33
34- Documentation (html, txt, pdf)
35- An interface to COIN-OR's open source solvers CLP and CBC
36- An interface to a version of Dash Optimization's XPRESS-MP solver
37- 3rd party libraries
38- A bundled standalone distribution of GraphViz
39 (to support the visualisation tools)
40- A bundled (but not standalone) distribution of Tcl/Tk
41 (to support the TkECLiPSE GUI)
42
43For installation, double click on ECLiPSe<Version>_<Build>.exe and
44the install wizard will guide you through the installation.
45
46Then try to launch tkeclipse via the Start menu, or look at the
47documentation, e.g. the tutorial.
48
49
50---------------------------------------------------
51Alternative: Manual Installation from .tgz Packages
52---------------------------------------------------
53
54You may want to use this method if you want to install ECLiPSe in a
55non-standard location.
56
57You need to get the following files for the "i386_nt" or the "x86_64_nt"
58architecture. These are tar-files compressed with gzip. Note that
59these .tgz Packages for Windows may not be available for download via
60SourceForge, but they are available from the www.eclipseclp.org site.
61
62Base:
63 README_WIN.TXT The file you are reading now
64 eclipse_basic.tgz Kernel and basic libraries
65 eclipse_doc.tgz Documentation (html,txt,man,pdf)
66
67Optional:
68 eclipse_misc.tgz Free/3rd party libraries
69 if_osiclpcbc.tgz Interface to COIN-OR's open source solvers
70 CLP and CBC
71
72Support:
73 tcltk.tgz A matching Tcl/Tk release (8.5)
74 (you may have that already).
75 Needed for the tkeclipse development GUI.
76 editors_eclipse_support.tgz Support for various editors for editing
77 ECLiPSe code.
78
79These other files are only needed under special circumstances:
80 eclipse_rt.tgz Runtime only (subset of eclipse_basic.tgz)
81 if_xpressXY.tgz Interface to XPRESS-MP version XY
82
83You can make installations (with reduced functionality) from subsets of
84these files. The minimum you always need is either eclipse_basic (for a
85development system) or eclipse_rt (for embedded applications only).
86
87
88
89Manual Installation steps
90
911. Make a folder for ECLiPSe on your machine and move the
92 distribution files there.
93
94 In the following we will refer to this folder as <eclipsedir>.
95 Note that you can have different versions of ECLiPSe installed
96 at the same time (in different folders).
97
98 The ECLiPSe installation folder can also be shared between
99 machines even with different hardware/operating system
100 architectures, e.g. i386_nt and sparc_sunos5. To do so, just
101 unpack the distributions for the different architectures in the
102 same installation directory. All architecture-dependent files
103 will go in separate subdirectories.
104
105
1062. Unpack the distribution files in this folder
107
108 You can use a tool like WinZip, GNU tar/gzip etc.
109 Beware of your download or unpacking tool trying to do clever
110 modifications of the file contents! E.g. with WinZip be sure to
111 disable Options->Configurations->Smart Tarfile CR/LF Conversion.
112
113 After unpacking, you should have the ECLiPSe directory structure
114 inside the <eclipsedir> folder.
115
116 If you are on Windows-9X (not NT/XP), you need to make sure you have
117 the 3 system DLLs WS2HELP.DLL, WS2_32.DLL (Winsock2) and MSVCRT.DLL.
118
119
1203. Make a registry entry for ECLiPSe. You can do this by running
121 <eclipsedir>/ecl_inst.js
122
123 Alternatively, you can do this manually, by
124
125
126 - run regedit (Start->Run...->regedit)
127
128 - create the registry key
129 HKEY_LOCAL_MACHINE\SOFTWARE\IC-Parc\ECLiPSe\<version>
130 where <version> is e.g. 5.10
131
132 - create a "String Value" under this key, with name ECLIPSEDIR and
133 value <eclipsedir>, i.e. the folder where you have unpacked the
134 distribution, e.g. "C:\Program Files\ECLiPSe 5.10"
135
136 You should now be able to run the command line version of eclipse, i.e.
137
138 <eclipsedir>/lib/i386_nt/eclipse.exe
139
140
1414. If you have a regular installation of Tcl/Tk, you can now also execute
142 the tkeclipse development environment by simply double-clicking on
143
144 <eclipsedir>/lib_tcl/tkeclipse.tcl
145
146 If, however, you have only unpacked the Tcl/Tk that is bundled with
147 ECLiPSe, then this will not work, since no bindings for the .tcl
148 extension have been defined. You can still execute tkeclipse.tcl
149 (or the tcl examples) by either
150
151 - dragging them onto the wish-executable, which is
152 <eclipsedir>\tcltk\i386_nt\bin\wish<version>.exe
153
154 - by running the wish-executable with the .tcl script as its
155 command line argument, e.g.
156 <eclipsedir>\tcltk\i386_nt\bin\wish<version>.exe tkeclipse.tcl
157
158 - create a shortcut that invokes the wish-executable with the .tcl
159 script as its argument
160
161 where wish<version>.exe is the actual name of the wish application, e.g.
162 wish85.exe. See the debugdemo.ecl example for how to do this from ECLiPSe
163
164
1655. Some ECLiPSe components, e.g. the Visualisation Tools, need Java.
166 In order for them to find the Java installation, you need to create
167 a further registry entry. Under the the registry key
168 HKEY_LOCAL_MACHINE\SOFTWARE\IC-Parc\ECLiPSe\<version>
169 create a "String Value" with name JRE_HOME and set it to the folder
170 where the Java runtime environemnt is located, e.g.
171 C:\Program Files\Java\jre1.5.0
172
173
174
175----------------------------------------------
176General Topics
177----------------------------------------------
178
179Directory structure
180-------------------
181
182Directories in the binary distribution:
183
184 lib supported libraries, object files, executables
185 lib_public third party Prolog libraries
186 lib_tcl tcl files for the graphical interface
187 include include files for C/C++ interface
188 doc online documentation, pdf files and example code
189 tcltk the bundled Tcl/Tk distribution
190
191
192The important files are in <eclipsedir>\lib\i386_nt:
193
194 eclipse.exe ECLiPSe standalone executable (needs eclipse.dll)
195 eclipse.dll ECLiPSe linkable library
196 eclipse.lib ECLiPSe linkable library stubs
197 eclipse.def Export specification of the dll
198 eclipse.reg Registry file for use with regedit
199
200To compile an application using the eclipse.dll you will need the
201include files in <eclipsedir>\include\i386_nt.
202
203The files related to the GUI version are in <eclipsedir>\lib_tcl:
204
205 tkeclipse.tcl ECLiPSe development GUI (executable)
206 eclipse.tcl eclipse package for Tcl/Tk-embedding
207 eclipse_tools.tcl eclipse_tools package with support tools
208 example*.tcl examples for using eclipse from Tcl/Tk
209
210Code for embedding into Visual Basic is in <eclipsedir>\doc\examples.
211
212
213
214Differences between UNIX and Windows versions of ECLiPSe
215--------------------------------------------------------
216
217Pathnames: Eclipse internally always works with platform independent
218path names using forward slashes, e.g.
219
220Windows pathname: C:\Software\Eclipse
221ECLiPSe form: //C/Software/Eclipse
222
223
224Documentation
225-------------
226
227The installation subdirectory <eclipsedir>/doc contains html and pdf
228versions of the user documentation. To read the html documentation,
229set your browser to e.g.
230
231 file:<eclipsedir>/doc/index.html
232
233
234The printable documentation is contained in the files:
235
236 tutorial.pdf Tutorial
237
238 userman.pdf Basic user manual
239
240 libman.pdf Library user manual (constraints libraries)
241
242 embedding.pdf Interfacing and embedding manual
243
244The Reference Manual (the detailed descriptions of the built-in
245predicates and all the libraries) is available exclusively in html
246format and via the help/1 predicate from within ECLiPSe.
247
248
249Installation hints for the 'eplex' library
250----------------------------------------------
251
252The ECLiPSe 'eplex' library is an interface to an external LP/MIP solver,
253which can be either a free COIN-OR solver (www.coin-or.org), or a
254commercial Xpress-MP or CPLEX solver.
255
256For the COIN-OR solvers, you do not need a licence to use them. For
257Xpress-MP or CPLEX, you need to own a separate Xpress-MP or CPLEX licence
258to use the 'eplex' library with the corresponding solver. In this case, you
259need to download a version of 'eplex' that matches the version of the
260Xpress-MP licence that you have (although it may be possible to
261run an older version with a newer licence). For example, for Xpress-MP X.Y,
262you need the package if_xpressXY.tgz. You can install a mix of different
263versions by just unpacking multiple packages.
264
265Note that we no longer distribute the CPLEX solver for eplex in binary
266form, as the CPLEX library is statically linked. You need to compile
267ECLiPSe from source if you want to use CPLEX with the `eplex' library.
268
269To tell ECLiPSe which licence you have on which machine, add the
270necessary lines to the text file <eclipsedir>/lib/eplex_lic_info.ecl,
271according to the instructions provided there. With this setup, you
272can load the eplex library from ECLiPSe by just invoking lib(eplex),
273and you will get the correct version for each machine.
274
275Academic licences for CPLEX are available from ILOG at
276 http://www.ilog.com/partners/academic/license.cfm
277Academic licences for XPRESS-MP are available from Dash Optimization at
278 http://www.dashoptimization.com/home/users/app.html
279
280
281Installation hints for the 'dbi' library
282-----------------------------------------
283
284The ECLiPSe 'dbi' library is an interface to an external
285database. Currently the MySQL database is supported. Because of licensing
286issues, we do not include the MySQL dynamic load library (libmysql.dll) in
287our binary distributions. You will need to obtain this library from
288MySQL AB:
289
290 http://dev.mysql.com/downloads
291
292When 'dbi' is loaded (for example by lib(dbi)), it will need to find and
293load this MySQL dynamic library. If it is in one of the standard system
294library paths, then the library can be loaded without further
295action. Otherwise, you can copy libmysql.dll file to where your ECLiPSe
296dynamic libraries are, i.e. <eclipsedir>/lib/i386_nt.
297
298You need to be able to connect to a running MySQL server in order to use
299the library. This can be on your local machine, or on a remote machine
300reachable from your network.
301
302
303Graphics
304--------
305
306The Embedding Interface and the TkEclipse Development Environment
307require Tcl/Tk version 8.3 or later.
308This might already be installed on your machine, otherwise install
309it by executing tcl831.exe.
310
311Several visualisation features require Java. The recommended version
312is at least 1.4, but versions from 1.2 upwards should still work.
313
314
315Emacs ECLiPSe mode
316------------------
317
318If you use the GNU emacs editor, an ECLiPSe mode is now provided for it.
319It is not part of the ECLiPSe distribution, and you need to download it
320separately. **Version 20 (or later) of GNU emacs is required.**
321This mode is based on the prolog mode by Umeda, and provides extensive
322syntax colouring for ECLiPSe-specific features. See http://www.gnu.org/
323if you need more information on GNU and its software.
324
325In order to use this mode, add the following line to your .emacs file:
326
327(autoload 'eclipse-mode "<eclipsedir>/lib_public/eclipse.el" "ECLIPSE editing mode" t)
328
329where <eclipsedir> is the path to your ECLiPSe installation directory.
330
331You may also need to add these lines so that the .pl and .ecl extensions
332are recognised to be ECLiPSe programs:
333
334(setq auto-mode-alist (cons '("\\.pl" . eclipse-mode) auto-mode-alist))
335(setq auto-mode-alist (cons '("\\.ecl" . eclipse-mode) auto-mode-alist))
336
337The eclipse.el file needs to be placed somewhere where your emacs can find
338it.
339
340See the start of the eclipse.el file for some instructions on using this mode.
341
342
343Contact Addresses
344-----------------
345
346News about ECLiPSe are available from the following sources
347
348 http://www.eclipseclp.org
349
350 http://www.sourceforge.net/projects/eclipse-clp
351
352 comp.constraints (via news server or e.g. groups.google.com)
353
354Via http://www.eclipseclp.org/mailinglist.html you can subscribe to
355one of the ECLiPSe mailing lists
356
357 eclipse-clp-announce@lists.sf.net (release announcements)
358 eclipse-clp-users@lists.sf.net (user discussion)
359
360Problem and bug reports can be submitted via the web site
361
362 http://www.eclipseclp.org/bugs.html
363
364Please take the time to report problems. Your feedback helps us to
365make ECLiPSe more reliable!
366
367