====================================================================== 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.