summaryrefslogtreecommitdiff
path: root/cpp/install/unix/README.Darwin
blob: 5711abfd80feba7644339b66bc27a0ef4a7edd06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
======================================================================
The Internet Communications Engine
======================================================================

Ice is a modern alternative to object middleware such as CORBA or
COM/DCOM/COM+. It is easy to learn, yet provides a powerful network
infrastructure for demanding technical applications. It features an
object-oriented specification language, easy to use C++, Java, Python,
PHP, C#, and Visual Basic mappings, a highly efficient protocol,
asynchronous method invocation and dispatch, dynamic transport
plug-ins, TCP/IP and UDP/IP support, SSL-based security, a firewall
solution, and much more.

Ice is available under the terms of the GNU General Public License
(GPL) (see LICENSE file). Commercial licenses are available for
customers who wish to use Ice with proprietary products. Please
contact sales@zeroc.com for more information about licensing Ice.


======================================================================
About this distribution
======================================================================

This distribution is a binary release of Ice @ver@ for Mac OS X and
includes the following components:

- The Ice runtime, including executables for the Ice services, HTML
  documentation and Slice files.

- Run time libraries for C++, Java, and Python. These libraries enable
  you to execute Ice applications.

- Tools and libraries for developing Ice applications.


======================================================================
Requirements
======================================================================

This binary distribution was compiled on Mac OS X 10.3.9 using the
default C++ compiler, GCC 3.3.


Java
----

Ice for Java requires J2SE 1.4.2 which is included with Mac OS X
10.3.4 and later.


Python
------

The Ice extension for Python included in this distribution requires
Python 2.3 installed with Mac OS X 10.3. If you prefer to use Python
2.4, you can download the Ice for Python source code from the ZeroC
web site at http://www.zeroc.com/download.html.


======================================================================
Berkeley DB and Expat
======================================================================

This distribution includes the C++ and Java runtime for Berkeley DB
4.3.29 and the Expat 1.95.8 library. The Berkeley DB C++ runtime was
built using GCC 3.3. The Berkeley DB and Expat licenses are provided
in the file THIRD_PARTY_LICENSE.


======================================================================
Setting up your environment to use Ice
======================================================================


General
-------

The discussion below assumes you have defined the ICE_HOME variable
with the directory of your Ice installation.

In order to use Ice services and tools such as Slice translators, you
need to add $ICE_HOME/bin to your PATH and $ICE_HOME/lib to your
DYLD_LIBRARY_PATH, as shown in the bash commands below:

$ export PATH=$ICE_HOME/bin:$PATH
$ export DYLD_LIBRARY_PATH=$ICE_HOME/lib:$DYLD_LIBRARY_PATH


C++
---

When compiling Ice for C++ programs, you must pass $ICE_HOME/include
to the compiler with the -I option, and $ICE_HOME/lib with the -L
option. Furthermore, a C++ program needs to link with at least libIce
and libIceUtil, so a typical link command would look like this:

$ c++ -o myprogram myprogram.o -L$ICE_HOME/lib -lIce -lIceUtil

Additional libraries are necessary if you are using an Ice service
such as IceGrid or Glacier2.


Java
----

To use Ice for Java, you must add $ICE_HOME/lib/Ice.jar to your
CLASSPATH, as shown below:

$ export CLASSPATH=$ICE_HOME/lib/Ice.jar:$CLASSPATH

If you plan to use Freeze for persistence, you must also add the
Berkeley DB JAR file (db.jar) to your CLASSPATH:

$ export CLASSPATH=$ICE_HOME/lib/db.jar:$CLASSPATH

In addition, the JVM requires that the directory containing the
Berkeley DB libraries be listed in java.library.path, therefore you
must add this directory to DYLD_LIBRARY_PATH.


Python
------

To use Ice for Python, the PYTHONPATH environment variable must be
updated so that the interpreter can load the Ice extension and
supporting Python files:

$ export PYTHONPATH=$ICE_HOME/python:$PYTHONPATH


======================================================================
Using the IceGrid Administrative Console
======================================================================

A Java-based graphical tool for administering IceGrid applications
is included in this distribution. The Java archive file is installed
as

$ICE_HOME/lib/IceGridGUI.jar

With a suitable Java installation, you can execute the application
using the following command:

$ java -jar IceGridGUI.jar


======================================================================
Demos and documentation
======================================================================

Sample programs are provided in the Ice-@ver@-demos.tar.gz package,
which can be downloaded from the ZeroC web site at

http://www.zeroc.com/download.html

Please refer to the README.DEMOS file included in that package for
more information.

See doc/README.html for information on the documentation included with
this distribution.