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
XERCESCROOTto 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.somust be used instead of the BSD version. This is automatically handled by theconfigurescript.
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.handoncrpc/xdr_rec.cfor 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.conffile 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_PATHto 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 =shibddaemon and when starting Apache (so you might put it in =/usr/local/sbin/apachectl=).