summaryrefslogtreecommitdiff
path: root/cpp/install/unix/README.Linux-RPM
blob: 3bd69103af6d715165f2b73e4252140545440e45 (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
======================================================================
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 an RPM release of the Ice 2.1.0 runtime for
Linux and includes executables for the Ice services, HTML
documentation, Slice files, and the C++ runtime libraries.

Additional Ice components are provided in separate RPM packages:

- Run time libraries for Java, Python, and C# (Mono). These libraries
  enable you to execute Ice applications.

- Development kits for C++, Java, Python, and C# (Mono). A development
  kit is required for building Ice applications using a supported
  language mapping. The development kits include examples that
  demonstrate various Ice features.

These RPMs are available for download at the ZeroC web site at

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


======================================================================
64 bit builds on x86-64
======================================================================

The RPMs provided by ZeroC contain only 32-bit binaries. If you need
64-bit binaries, you can download the Ice sources from the ZeroC web
site at http://www.zeroc.com/download.html and build Ice in 64-bit
mode. See the INSTALL.LINUX file of the source distribution for more
details.


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


C++
---

No additional compiler or linker options are required for an RPM
installation of the Ice for C++ development kit.


Java
----

To use Ice for Java, you must add Ice.jar to your CLASSPATH, as shown
in the following bash command:

$ export CLASSPATH=/usr/lib/Ice-2.1.0/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 LD_LIBRARY_PATH. Assuming you are using the RPM
installation of Berkeley DB, the bash command is shown below:

$ export LD_LIBRARY_PATH=/usr/lib:$LD_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=/usr/lib/Ice-2.1.0/python:$PYTHONPATH


Mono
----

The RPM installation adds the C# runtime libraries to the global
assembly cache (GAC), so that no changes to your environment are
necessary to locate the assemblies.

The instructions for running the demos assume that you have configured
your kernel to automatically execute the Mono interpreter. To do this,
run the following commands as root (replace /usr/bin/mono with the
location of your mono interpreter):

    if [ ! -e /proc/sys/fs/binfmt_misc/register ]; then
	/sbin/modprobe binfmt_misc mount -t binfmt_misc none /proc/sys/fs/binfmt_misc
    fi 
    if [ -e /proc/sys/fs/binfmt_misc/register ]; then
	echo ':CLR:M::MZ::/usr/bin/mono:' > /proc/sys/fs/binfmt_misc/register
    else
	echo "No binfmt_misc support" exit 1
    fi 

If you don't want to do this you need to run the executable with
mono. For example,

$ mono server.exe


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

Sample programs are included with each development kit. See the file
README.DEMOS for instructions on building and running the demos.

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