======================================================================
Requirements
======================================================================
Operating System
----------------
AIX 5.2 on Power or PowerPC
C++ compiler
------------
- VisualAge C++ 6.0 with the April 2004 PTF
C compiler
----------
- IBM xlc
Third-party libraries
---------------------
- Berkeley DB 4.2.52 or 4.3.21 with C++ support enabled, and built
with a C++ compiler compatible with the one you are using. The
Berkeley DB source distribution can be downloaded from
http://www.sleepycat.com
We recommend that you configure and build Berkeley DB like this:
$ ../dist/configure --enable-cxx --enable-posixmutexes
(plus --prefix=
and/or --enable-java if you like)
$ gmake
For 64 bit builds, use this configuration:
$ export OBJECT_MODE=64
$ ../dist/configure --enable-cxx --enable-posixmutexes
(plus --prefix= and/or --enable-java if you like)
$ gmake
Note that Ice for Java is not compatible with version 4.3.21,
therefore if you intend to use Ice for Java with Berkeley DB,
you must use version 4.2.52 and obtain a Berkeley DB patch
(see INSTALL in your IceJ distribution).
- OpenSSL
For 32 bit builds, we recommend openssl-0.9.6m-2 from the "AIX
Toolbox for Linux Applications" (cryptographic section):
http://www.ibm.com/servers/aix/products/aixos/linux/ezinstall.html
Do not use openssl-0.9.6m-1, as it was not built properly.
For 64 bit builds, we recommend using OpenSSL 0.9.7d (or later).
You can download the source distribution from
http://www.openssl.org.
- expat 1.9x, which can be downloaded from
http://sourceforge.net/projects/expat
You can also use the binary distribution for AIX 5.1 available
in the "AIX Toolbox for Linux Applications":
http://www.ibm.com/servers/aix/products/aixos/linux/ezinstall.html
- bzip2 1.0
The source distribution can be downloaded from
http://sources.redhat.com/bzip2
For 32 bit builds, you can also use the binary distribution from
the "AIX Toolbox for Linux Applications".
GNU Make 3.80
-------------
GNU Make 3.80 is required to build Ice on AIX. You can download GNU
Make from the "AIX Toolbox for Linux Applications".
Python 2.2 or 2.3
-----------------
To run the automated test suite, you will need Python 2.2 or 2.3. If
you have no interest in running the test scripts, Python is not
required.
You can download Python from the "AIX Toolbox for Linux Applications".
======================================================================
Compilation and Testing
======================================================================
Extract the Ice archive in any directory you like (for example, in
your home directory):
$ gunzip -c Ice-.tar.gz | tar xvf -
Change the working directory to Ice-:
$ cd Ice-
Edit the file config/Make.rules according to the comments in this
file. Make sure that the paths for the third-party libraries are set
correctly if they are not installed in the default location /usr/lib
and /usr/include.
Now you're ready to build Ice:
$ gmake
This will build the Ice core library, all add-ons, all tests, and all
examples.
After a successful build, you can run the test suite, provided that
you installed Python:
$ gmake test
This is equivalent to:
$ python allTests.py
If everything worked out, you should see lots of "ok". In case of a
failure, the tests abort with "failed".
If you want to try out any of the demos, make sure to add "bin" to
PATH and "lib" to LIBPATH:
$ export PATH=`pwd`/bin:$PATH
$ export LIBPATH=`pwd`/lib:$LIBPATH
======================================================================
Library versioning
======================================================================
Ice uses the same library versioning convention as the packages
distributed in the "AIX Toolbox for Linux Applications". See the link
below for more information:
http://www-124.ibm.com/pipermail/aixtoolbox-list/2004-June/001789.html
======================================================================
64 bit builds
======================================================================
To build Ice in 64 bit mode, you need to:
- Obtain or build all the third party dependencies. A number of
packages from the "AIX Toolbox for Linux Applications" provide both
32 and 64 bit shared objects in the same archive libraries.
For example:
$ ar -t -X32_64 /opt/freeware/lib/libexpat.a
libexpat.so.0
libexpat.so.0
- Set the environment variable OBJECT_MODE to 64, e.g.:
$ export OBJECT_MODE=64
- Build and test as described above.
======================================================================
Installation
======================================================================
Simply run "gmake install". This will install Ice in the "prefix"
directory specified in the file Make.rules.
After installation, make sure that the /bin directory is in
your PATH, and the /lib directory is in your LIBPATH. When
compiling Ice programs, you must also make sure to pass the location
of the /include directory to the compiler with the -I option,
and the location of the /lib directory with the -L option.