====================================================================== Requirements ====================================================================== Operating System ---------------- HP-UX 11i (11.11) on PA-RISC. You also need the "HP-UX Strong Random Number Generator", available for free from http://software.hp.com. C++ compiler ------------ HP aC++ A.03.56 More recent versions of aC++ are likely to work as well. C compiler ---------- HP C/ANSI C compiler (cc). Third-party libraries --------------------- Ice has dependencies on a number of third-party libraries: - Berkeley DB 4.5.20 with C++ support enabled, and built with a C++ compiler compatible with the one you are using. You can download the Berkeley DB source distribution from http://www.oracle.com/technology/software/products/berkeley-db/index.html We recommend that you configure and build Berkeley DB with: $ export CXXOPTS="-AA -mt" $ export CCOPTS="-mt" $ ../dist/configure --enable-cxx (plus --prefix= and/or --enable-java if you like) $ gmake If you intend to use Ice for Java with Berkeley DB, you must also include the option --enable-java. For 64-bit builds, use: $ export CXXOPTS="-AA +DD64 -mt" $ export CCOPTS="+DD64 -mt" $ ../dist/configure --enable-cxx (plus --prefix= and/or --enable-java if you like) $ gmake - OpenSSL 0.9.8, which can be downloaded from http://www.openssl.org We do not recommend using the binary distribution available from the "Software Porting And Archive Centre for HP-UX" as it depends on the GCC runtime. A recommended configuration is: ./Configure hpux-parisc2-cc shared (and --prefix= if you like) For 64-bit builds, a recommended configuration is: ./Configure hpux64-parisc2-cc shared (and --prefix= if you like) - expat 2.0, which can be downloaded from http://sourceforge.net/projects/expat For 32-bit builds, you can also use the binary distribution from the "Software Porting And Archive Centre for HP-UX" located at http://hpux.cs.utah.edu. - bzip2 1.0.3, which can be downloaded from the "Software Porting And Archive Centre for HP-UX", http://hpux.cs.utah.edu. For 32-bit builds, you can also use the binary distribution from the "Software Porting And Archive Centre for HP-UX". GNU Make 3.80 ------------- GNU Make 3.80 is required to build Ice on HP-UX. You can download GNU Make from the "Software Porting And Archive Centre for HP-UX", http://hpux.cs.utah.edu. 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. You can download Python from http://hpux.cs.utah.edu. ====================================================================== Compilation and Testing ====================================================================== Extract the Ice archive in any directory you like (for example, in your home directory): $ gunzip -c Ice-3.2.1.tar.gz | tar xvf - Change the working directory to Ice-3.2.1: $ cd Ice-3.2.1 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. 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 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 SHLIB_PATH environment variable to add the "lib" directory. For 64-bit builds, add "lib" to LD_LIBRARY_PATH: $ export PATH=`pwd`/bin:$PATH $ export SHLIB_PATH=`pwd`/lib:$SHLIB_PATH $ export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH ====================================================================== 64-bit builds ====================================================================== To build Ice in 64-bit mode, you need to: - Obtain or build all the third-party dependencies, and put the 64-bit libraries in the "lib/pa20_64" directories. For example, put Berkeley DB 64-bit libraries in $DB_HOME/lib/pa20_64. - 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 /bin directory is in your PATH, and the /lib directory is in your SHLIB_PATH. When compiling Ice programs, you must 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. If you built in 64-bit mode, the libraries are installed in /lib/pa20_64 and the binaries are installed in /bin/pa20_64. No other changes are necessary.