The Shibboleth V1 software has reached its End of Life and is no longer supported. This documentation is available for historical purposes only.
FreeBSDNotes
ServiceProvider Notes
Successful C++ SP Builds
- FreeBSD 5.3
Build Environment Setup
- Set
XERCESCROOT
to the root of the unpacked Xerces-C tarball
configure
Commands
$ OpenSSL: (just use the standard ports version)
$ libcurl: (use the standard ports version), or use =./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 freebsd -c gcc -x g++ -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: ./configure --with-saml=/opt/shibboleth-sp --with-log4cpp=/opt/shibboleth-sp --enable-apache-20 --with-apxs=/usr/local/sbin/apxs --prefix=/opt/shibboleth-sp -C
Build Notes
- On FreeBSD, the ONC RPC library used by Shibboleth for www/shibd connectivity is not thread-safe for clients or servers. Since shibd is multi-threaded, the Shibboleth-supplied version of
liboncrpc.so
must be used instead of the BSD version. This is automatically handled by theconfigure
script.
- However, the ONC package included in the latest released Shibboleth code base does not compile cleanly on FreeBSD yet. This has been fixed in cvs. Review the diffs to
oncrpc/rpc/rpc.h
andoncrpc/xdr_rec.c
for these simple fixes. The rest of the code compiled cleanly.
- FreeBSD has apparently been altering their library-naming, and older releases required that threaded libraries link to libc_r instead of libpthread. This has changed in recent versions, but some packages have stale rules to link in -lc_r when building. The easiest way to correct this is to create an
/etc/libmap.conf
file to remap things:
libc_r.so.5 libpthread.so.1 # Everything that uses 'libc_r' libc_r.so libpthread.so # now uses 'libpthread'
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/sbin/apachectl=).