summaryrefslogtreecommitdiff
path: root/cpp/INSTALL.SOLARIS
blob: ee55c584d045684b4afd25224a44eeb191e55e3b (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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
======================================================================
Requirements
======================================================================


Operating System
----------------

Ice is expected to build and run properly on Solaris 8, Solaris 9
and Solaris 10 on SPARC and x86/x64. However, Ice is officially
supported only on Solaris 10.

You also need to have /dev/urandom installed. This is installed by
default on Solaris 9 and Solaris 10; on Solaris 8, you need to install 
patch 112438-01.


C++ compiler
------------

The following Sun compiler is supported:

- Sun C++ 5.8 (part of Sun Studio 11)

Builds with the following compilers are expected to succeed, but these
compilers are not supported at this time:

- Sun C++ 5.5, 5.6 and 5.7 (Sun Studio 8, 9, and 10 respectively)

- GCC 3.4, 4.0 and 4.1


Third-party libraries
---------------------

Ice has dependencies on a number of third-party libraries:

- Berkeley DB 4.5.20 configured with --enable-cxx, and built with a
  C++ compiler compatible with the one you are using.

  If you intend to use Ice for Java with Berkeley DB, you must also
  include the option --enable-java.

- expat 1.95.7 or later

- OpenSSL 0.9.7 or later (OpenSSL 0.9.8 or later recommended)

- bzip2 1.0

You can download these packages at the following locations:

Berkeley DB    http://www.oracle.com/database/berkeley-db/index.html
expat          http://sourceforge.net/projects/expat/
OpenSSL        http://www.openssl.org
bzip2          http://sources.redhat.com/bzip2

bzip2, expat and openssl are distributed with the Solaris 10 operating
system.

The "bundled" expat and openssl are installed in /usr/sfw. If you want
to use the bundled openssl with Ice, we recommend that you also
install the "Solaris 10 Encryption Kit" available from:

http://www.sun.com/download/index.jsp?cat=Security&tab=3&subcat=Cryptography%20%26%20Encryption

This kit is required to run the IceSSL tests successfully.

- mcpp 2.6.4, which can be downloaded from

  http://mcpp.sourceforge.net/download.html

  After downloading and unpacking the source distribution it is 
  necessary to first apply a source patch available on the Ice
  download page before building. From the mcpp 2.6.4 base directory
  run

  patch -p0 < mcpp-2.6.4.patch

  Ice requires the library version of mcpp, so configure mcpp similar
  to the following

  ./configure CC=cc CXX=CC --enable-mcpplib --enable-shared
  (and --prefix=<dir> if you like)


GNU Make 3.80
-------------

GNU Make 3.80 is required to build Ice on Solaris. GNU make is
distributed on the "Solaris 10 OS Companion Software DVD":

http://www.sun.com/software/solaris/freeware/


Python
------

You will need Python to run the automated test suite. If you have no
interest in running the test scripts, Python is not required.


======================================================================
Compilation and Testing
======================================================================

Extract the Ice archive in any directory you like (for example, in
your home directory):

$ gtar xvfz Ice-@ver@.tar.gz

Change the working directory to Ice-@ver@:

$ cd Ice-@ver@

Edit config/Make.rules to establish your build configuration. The
comments in the file provide more information. Pay particular
attention to the variables that define the locations of the third-
party libraries.

If you want to build with g++ instead of Sun CC, edit the file
config/Make.rules.SunOS and change or comment out the CXX = <compiler>
line (at the top of the file). The default value for CXX with GNU make
is g++.

Now you're ready to build Ice:

$ gmake

This will build the Ice core libraries, services, tests and examples.
After a successful build, you can run the test suite, provided that
you have installed Python:

$ gmake test

This is equivalent to:

$ python allTests.py

If everything worked out, you should see lots of "ok" messages. In
case of a failure, the tests abort with "failed".

If you want to try out any of the demos, make sure to update your PATH
environment variable to add the "bin" directory, and your
LD_LIBRARY_PATH environment variable to add the "lib" directory.  For
64-bit builds, add "lib" to LD_LIBRARY_PATH_64:

$ export PATH=`pwd`/bin:$PATH
$ export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH
$ export LD_LIBRARY_PATH_64=`pwd`/lib:$LD_LIBRARY_PATH_64


======================================================================
64-bit builds
======================================================================

To build Ice in 64-bit mode, you need to do the following:

- Obtain or build all the third-party dependencies, and put the 64-bit
  libraries in the appropriate lib subdirectory (lib/sparcv9 on SPARC,
  lib/amd64 on x64).

- Set the environment variable LP64 to yes, as shown below:

  $ export LP64=yes

- Build and test as described above.


======================================================================
Installation
======================================================================

Simply run "gmake install". This will install Ice in the directory
specified by the "prefix" variable in config/Make.rules.

After installation, make sure that the <prefix>/bin directory is in
your PATH, and the <prefix>/lib directory is in your LD_LIBRARY_PATH.
When compiling Ice programs, you must pass the location of the
<prefix>/include directory to the compiler with the -I option, and the
location of the <prefix>/lib directory with the -L option.

If you built in 64-bit mode, the libraries are installed in
<prefix>/lib/sparcv9 or <prefix>/lib/amd64, depending on your system's
architecture. Executables are installed in <prefix>/bin/sparcv9 or
<prefix>/bin/amd64. No other changes are necessary.