====================================================================== 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 2.1.0 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.8 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.2.52 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 IcePack 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 Note that the Freeze component of Ice for Java requires Berkeley DB. In order to use Freeze, you must add db.jar to your CLASSPATH. In addition, the JVM requires the directory containing the Berkeley DB libraries to be listed in java.library.path, therefore you must add this directory to your DYLD_LIBRARY_PATH (even if the libraries reside in /usr/lib). 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:$ICE_HOME/lib:$PYTHONPATH ====================================================================== Demos and documentation ====================================================================== Sample programs are provided in the Ice-2.1.0-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.