This page has notes on building the Shibboleth SP software on Solaris. Since the support from internet2 for downloadable binary packages on Solaris seems weak, we will likely need to build and package the software ourselves for our Solaris-based web servers. (Also see https://spaces.internet2.edu/display/SHIB/SolarisNotes).
The test build was done on an Athena 9.4/Solaris 10 machine, which was already running Apache 1.3 with mod_ssl. It also previously contained an installation of cURL (version 7.16.0) in /usr/local, which is another prerequisite of the Shibboleth SP. (It is also a prerequisite of WebAuth). The following procedure assumes that Shibboleth should be installed under the prefix /usr/local/shibboleth. It also assumes that the system already has the GNU build tools installed; in particular, most of the source packages must be built using gmake.
Build steps:
- Download the various source tarballs from http://shibboleth.internet2.edu/downloads/
- Set the OPENSSL environment variable for the build. Initially I tried /usr/sfw for this, which has the stock Solaris 10 OpenSSL; while things built OK with this setting, the resulting Apache module did not work, probably because mod_ssl had been built against the Athena OpenSSL (i.e. in /usr/athena).
- For log4cpp:
- ./configure --disable-static --disable-doxygen --prefix=/usr/local/shibboleth
- gmake
- gmake install
- For xerces-c (see http://xml.apache.org/xerces-c/build.html):
- Set the XERCESROOT environment variable to the top of the source tree, as unpacked from the tar file, e.g. /usr/local/build/xerces-c-src_2_6_1
- cd $XERCESROOT/src/xercesc
- ./runConfigure -p solaris -c gcc -x g++ -r pthread -b 32 -P /usr/local/shibboleth
- gmake
- gmake install
- For xml-security-c:
- Download from http://xml.apache.org/security/dist/c-library/
- ./configure --without-xalan --prefix=/usr/local/shibboleth # maybe also specify --with-xerces instead of using environment variable?
- gmake
- gmake install
- For opensaml (see note above concerning openssl location though):
- ./configure --prefix=/usr/local/shibboleth --with-curl=/usr/local --with-log4cpp=/usr/local/shibboleth --with-openssl=/usr/sfw -C
- gmake
- gmake install
- For shibboleth-sp (finally):
- ./configure --with-saml=/usr/local/shibboleth --with-log4cpp=/usr/local/shibboleth --enable-apache-13 --with-apxs=/usr/apache-1.3/bin/apxs --prefix=/usr/local/shibboleth -C
- gmake
- gmake install
This builds successfully, but gets lots of warnings about the -pthread option not being recognized in gcc; doc/INSTALL.txt says you can set CFLAGS in the environment before running configure (i.e. to use -pthreads).