Date: Fri, 29 Mar 2024 09:53:30 +0000 (UTC) Message-ID: <74505088.24993.1711706010084@ae5f4610bf64> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_24992_1175587377.1711706010084" ------=_Part_24992_1175587377.1711706010084 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
This page provides important information for users of the Ice bi= nary distribution for OS X. You can obtain this distribution at the ZeroC web site.
On this page:
The binary distribution of Ice for OS X includes the following component= s:
The binary distribution was compiled on OS X 10.8 using Xcode 4.6. The b= inaries in this distribution are fat binaries with support for both Intel 3= 2-bit and Intel 64-bit architectures.
The Ice extension for Python included in this distribution requires Pyth= on 2.7.2, installed with OS X 10.8.
The binaries are installed at the following locations:
/Library/Developer/Ice-3.5.1
/Applications
/Library/Python/2.7/site-packages
=
li>
After installing Ice, read the relevant language-specific sections below= to learn how to configure your environment and start programming with Ice.=
In order to use Ice services and tools such as Slice translators, you ne=
ed to add the location of the Ice binaries to your PATH
&n=
bsp;as shown in the bash command below:
$ export PATH=3D<Ice installation directory>= /bin:$PATH
If you run applications that load the IceSSL plug-in, you have to do one= of the following in order to correctly load IceSSL:
Set the DYLD_LIBRARY_PATH
environment variabl=
e:
$ export DYLD_LIBRARY_PATH=3D<Ice installation = directory>/lib:$DYLD_LIBRARY_PATH
Use a relative or absolute path for the IceSSL library in the I= ceSSL configuration:
Ice.Plugin.IceSSL=3D<Ice installation directory= >/lib/IceSSL:createIceSSL
For C++11 builds you must use <Ice installation directory=
>/lib/c++11
instead of <Ice installation directory>/l=
ib
.
The Ice binary distribution for OS X includes two sets of libr=
aries built with and without C++11 support. C++11 enabled libraries ar=
e installed in <Ice installation directory>/lib/c++11 and use LLVM
libc++
, while the libraries in =
<Ice installation directory>/lib
use lib=
stdc++
and do not support C++11 features.
When compiling Ice for C++ programs, you must pass the -pthre=
ad
option and a -I
option specifying the=
Ice include directory. A typical compile command would look like this=
:
$ c++ -I <Ice installation directory>/includ= e -c -pthread myprogram.cpp
When linking a program you must pass the Ice library director=
y with the -L
option and set the progra=
m run path using the -rpath
linker opti=
on. Furthermore, a C++ program needs to link with at least libIceUtil
. A=
typical link command would look like this:
$ c++ -o myprogram myprogram.o -Wl,-rpath,<Ice = installation directory>/lib -L<Ice installation directory>/lib -lI= ce -lIceUtil
Additional libraries are necessary if you are using an Ice service such = as IceGrid or Glacier2.
To build fat binaries or binaries using an architecture that differs fro=
m the default architecture, you can specify the Clang -arch compiler flag. For example, use
-arch i386 -arch x86_64<=
/code> to build Intel 32-bit and 64-bit fat binaries.
As shown in the previous example, we need to set the application run pat=
h when we link the application. This is required because Ice libraries use&=
nbsp;@rpath
as the prefix in their install names, which a=
llows the application developer to relocate the Ice libraries without needi=
ng to rebuild them. You should use the /Library/Developer/Ice-3.=
5
symbolic link for the run path if you want your executables t=
o automatically use new Ice patch releases. This symbolic link is updated b=
y the Ice installer to point to the latest installed Ice version.
If you want to include Ice in your application bundle, you will need to =
copy the necessary Ice libraries to the Contents/Frameworks subdirectory of your bundle and use
@loader_path/.=
./Frameworks
as the run path when linking the application.
Please refer to the dyld
man page on your OS X sy=
stem to learn more about @rpath
and @load=
er_path
.
For C++11 builds you must use <Ice installation directory>/l=
ib/c++11
instead of <Ice installation directory>/lib.
To use Ice for Java, you must add Ice.jar
to your=
CLASSPATH
, as shown below:
$ export CLASSPATH=3D<Ice installation director= y>/lib/Ice.jar:$CLASSPATH
If you intend to use Freeze for Java, you must include Freeze=
.jar
and db.jar
in your CLASS=
PATH
along with Ice.jar
:
$ export CLASSPATH=3D<Ice installation director= y>/lib/Freeze.jar:$CLASSPATH $ export CLASSPATH=3D<Ice installation directory>/lib/db.jar:$CLASSPA= TH
Classes for the other Ice services are provided in separate JAR files:= p>
Glacier2.jar
IceBox.jar
IceGrid.jar
IcePatch2.jar
IceStorm.jar
If your application uses any of these services, add the appropriate JAR =
files to your CLASSPATH
as shown above.
The JVM also requires that the directory containing Berkeley DB's native=
libraries be listed in java.library.path
, therefore you =
must add this directory to your DYLD_LIBRARY_PATH
.
Ice includes ant tasks for translating Slice to Java. The ant tasks allo=
w slice2java
and slice2freezej
&nbs=
p;to be invoked from the ant build system. These tasks require one of the f=
ollowing:
Specify the location of the Ice installation containing the translat=
ors with the ice.home
property:
$ ant -Dice.home=3D<Ice installation directory&= gt;
Set the ICE_HOME
environment variable to spec=
ify the location of the Ice installation containing the translators:
$ export ICE_HOME=3D<Ice installation directory= >
ice.home
nor ICE_HOME is available, the ant tasks will simply invoke the translator witho=
ut an absolute path, relying on the translators being in a directory in you=
r PATH
for successful execution.
Ice for Java supports protocol compression using the bzip2 classes inclu=
ded with ant. Compression is automatically enabled if these classes are pre=
sent in your CLASSPATH
. You can either add ant=
.jar
to your CLASSPATH
, or download only the =
bzip2 classes from:
Note that these classes are a pure Java implementation of the bzip2 algo= rithm and therefore add significant latency to Ice requests.
ZeroC has created a Slic= e2Java plug-in for Eclipse that automates the translation of your = Slice files. If you use Eclipse, we strongly recommend using this plug-in f= or your own development.
The Slice2Java plug-in is required if you intend to build any of the And= roid projects included in the sample programs.
For installation instructions, please refer to the Zero= C web site. The manual<= /a> provides more information about configuring the plug-in and using = it in your projects.
Ice requires Android 2.3 or later. Aside from that, there are no other s= pecial requirements for using Ice in an Android application. We strongly re= commend installing our Slice2Java plug-in for Eclipse to automate the comp= ilation of your Slice definitions.
The Ice for Python run-time installs the Ice extension and its asso=
ciated Python files into the site-packages
directory=
(/Library/Python/2.7/site-packages
).
Sample programs= are provided in a separate archive, which can be downloaded from the&= nbsp;ZeroC web site.
The binary distribution for OS X includes the following third-party pack= ages as separate binary libraries: