The Shibboleth V1 software has reached its End of Life and is no longer supported. This documentation is available for historical purposes only.

SolarisNotes

ServiceProvider Notes

Successful C++ SP Builds

  • Solaris 2.8 (32-bit Sparc) using SunCC 5.2
  • Solaris 2.8 (32-bit Sparc) using gcc3

Build Environment Setup

  • Set LD_LIBRARY_PATH to the eventual lib path into which you'll be installing the packages you're building (e.g. /opt/shibboleth-sp/lib)
  • Set XERCESCROOT to the root of the unpacked Xerces-C tarball
  • Set OPENSSL to the location where OpenSSL is installed
  • Set CC and CXX to the names of the C and C++ compilers you want to use (gcc/cc, g++/CC)

configure Commands

$ OpenSSL (Sun CC): ./Configure solaris-sparcv9-cc threads shared --prefix=/opt/shibboleth-sp
$ OpenSSL (gcc): ./Configure solaris-sparcv9-gcc threads shared --prefix=/opt/shibboleth-sp
$ libcurl: ./configure --disable-static --without-ca-bundle --enable-thread --prefix=/opt/shibboleth-sp
$ log4cpp: ./configure --disable-static --disable-doxygen --prefix=/opt/shibboleth-sp
$ Xerces-C: ./runConfigure -p solaris -c $CC -x $CXX -r pthread -b 32 -P /opt/shibboleth-sp
$ XML-Security-C: ./configure --without-xalan --prefix=/opt/shibboleth-sp
$ OpenSAML: ./configure --with-curl=/opt/shibboleth-sp --with-log4cpp=/opt/shibboleth-sp --prefix=/opt/shibboleth-sp -C
$ Shibboleth (Sun CC): ./configure --with-saml=/opt/shibboleth-sp --with-log4cpp=/opt/shibboleth-sp --enable-apache-13 --with-apxs=/usr/local/apache/bin/apxs --enable-apache-20 --with-apxs=/usr/local/apache2/bin/apxs --prefix=/opt/shibboleth-sp CFLAGS=-D_sparc_ CXXFLAGS="-D_sparc_ -library=Cstd,Crun" LDFLAGS=-lz -C
$ Shibboleth (gcc): ./configure --with-saml=/opt/shibboleth-sp --with-log4cpp=/opt/shibboleth-sp --enable-apache-13 --with-apxs=/usr/local/apache/bin/apxs --enable-apache-20 --with-apxs=/usr/local/apache2/bin/apxs --prefix=/opt/shibboleth-sp -C

Build Notes

  • On all versions of Solaris, the ONC RPC library used by Shibboleth for www/shibd connectivity is not able to support the older system calls used. The Shibboleth-supplied version of liboncrpc.so must be used instead of the Sun version. This is automatically handled by the configure script and is normal.
  • Note the additional flags that are required when building Shibboleth with Sun's compiler. These are required to address bugs in the way libtool invokes the compiler and linker.
  • When using gcc4, the current version of Xerces supported by Home and Shibboleth does not support gcc4 and has a very small bug. One of the source files will fail because of an extraneous use of the static keyword on two lines. Simply remove the keyword from those lines and run make again to complete the build.
  • Some of the packages, particularly xml-security-c, do not build or install cleanly on some Solaris servers, depending on various software packages that may or may not be present. You may need to copy the install-sh script from the root folder of the package to various subdirectories, and manually copy the headers and library to the intended destination.
  • The xml-security-c configure script uses the wrong optimization flag for Sun's compiler. If not using gcc, you'll need to edit the configure script and change -O2 to -xO2

Runtime Notes

  • Set LD_LIBRARY_PATH to the lib path containing the dependencies and Shibboleth libraries (e.g. /opt/shibboleth-sp/lib). This is required both in the script that starts the shibd daemon and when starting Apache (so you might put it in /usr/local/apache/bin/apachectl).