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
andCXX
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 theconfigure
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 runmake
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 theshibd
daemon and when starting Apache (so you might put it in/usr/local/apache/bin/apachectl
).