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