Version 1.1.1

Please read the README.txt file in the same directory with this file
before continuing. More general information is available there.

For Windows, read the INSTALL-WIN32.txt file in addition to this file.

Please refer to https://spaces.internet2.edu/display/SHIB/BuildingShibboleth
for detailed advice about building OpenSAML and its dependencies on
various platforms.

Platforms
---------
The code is tested on various versions of Red Hat/Fedora, Solaris, and
Mac OS X. Most Linux versions probably work. Other Unix systems might
work with some porting effort, but many open source packages are
hit and miss on platforms like HP-UX and AIX. Feedback and code or
build changes are welcome. To port, start with ./configure as described
below, and see what happens!

When configuring packages, the key requirements are for thread-safety
via POSIX pthreads and shared library support.

Some specific notes and known issues are mentioned below.

Compilers
---------
When using g++, you must use version 3.0 or newer. We current use a mix of
versions on various platforms. gcc 4.0 and later is a bit bleeding edge, but
does now work.

On Solaris, the author favors Sun's C/C++ compiler. g++ does work, but has
to be built carefully and must use Sun's linker.  

OpenSSL
-------
Many operating systems come with various versions of OpenSSL. You may need
to carefully control which version you're building against, and it must
match the same version used by the libcurl library and any software you
plan to use OpenSAML with, such as Apache.

Many packages linked to OpenSSL will reveal the version they used if you
run the ldd (or equivalent) command on them, since OpenSSL's shared libraries
are (incorrectly) stamped with a version suffix that matches the OpenSSL
version. If you see 0.9.7 and you want to use 0.9.8, you'll need to rebuild
something.

log4shib / log4cpp
------------------
Logging support has been a source of problems for the project because the
originally selected library, log4cpp, has gone into and back out of limbo
and has not been actively maintained until relatively recently. Most
versions prior to 1.0 that were not patched by the Shibboleth team contain
thread safety issues.

As of this release, OpenSAML has been patched to support either the log4cpp
library, or a forked version we created called log4shib. If in doubt about
the stability of the log4cpp version you want to use, we suggest using
log4shib.   

Xerces-C
--------
After much gnashing of teeth, the latest official release has finally
corrected the bugs and deficiencies that created problems, and we
recommend the use of the 2.8.0 release.

One recent release, 2.6.0 is specifically not usable and will be detected
by the configure script.

Note that Xerces relies on an unusual script to configure itself, and there
are a lot of switches to control the compiler used, thread support, etc.

On OS X, you must enable the "native" NetAccessor module.
