Very Quick Guide to build sssd components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Use the following instructions to build the libraries and the binaries. External library requirements: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sssd depends on 4 libraries originated in the samba project: talloc, tdb, tevent, ldb They are now available in major distribution development branches. If you want to build them from source download the latest samba master branch ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ How to build everything in one go (Preferred approach) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From the root of the source, run: autoreconf -i -f && \ ./configure && \ make Optionally, parallel builds are possible with: autoreconf -i -f && \ mkdir parallelbuilddir && cd parallelbuilddir && \ ../configure && \ make ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ How to build components individually ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Internal Library Requirements ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sssd provides several required libraries within its source tree: collection ini_config libreplace Compiling sssd internal libraries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ pushd replace; autoreconf -i -f && \ ./configure && \ make; popd pushd common; autoreconf -i -f && \ ./configure --enable-static --disable-shared && \ make; popd This will build the libraries statically for linking into the sssd. Currently the sssd build system does not support dynamically linking. (The external API for collection and ini_config is not yet ready for general consumption). Compiling sssd with system installed libraries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ pushd server; \ autoreconf -i -f && \ ./configure && \ make; \ popd Compiling client libraries ~~~~~~~~~~~~~~~~~~~~~~~~~~ The nss and pam client do not require any additional dependencies. pushd sss_client; \ autoreconf -i -f && \ ./configure && \ make; \ popd Now you have to copy libnss_sss* into /lib (or /lib64) and add the 'sss' target to nsswitch.conf passwd database For pam copy pam_sss.so into /lib/security (or /lib64/security) and add pam_sss.so to your pam configuration. To use the pam_test_client from sss_client create the following file: /etc/pam.d/sss_test: auth required pam_sss.so account required pam_sss.so password required pam_sss.so session required pam_sss.so Now you can call pam_test_client: ./pam_test_client [auth|chau|acct|setc|open|clos] username@domain ~~~~~ Simo and Steve (Last updated for 0.4.0)