path: root/BUILD.txt
diff options
authorStephen Gallagher <>2009-04-11 10:21:19 -0400
committerSimo Sorce <>2009-04-13 09:06:55 -0400
commit8096462b171c4bb45ea58ba9eaa2f2fdb8c7107d (patch)
tree8b53fc46ec69f0374cb1cd05dd38f64891cfaada /BUILD.txt
parent4626af1ad1141291f226382f3569e4dd0486cd08 (diff)
Update RPM build for configuration changes
Diffstat (limited to 'BUILD.txt')
1 files changed, 29 insertions, 40 deletions
diff --git a/BUILD.txt b/BUILD.txt
index f93c64b8a..cddfea810 100644
--- a/BUILD.txt
+++ b/BUILD.txt
@@ -3,63 +3,52 @@ 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 have these libraries installed skip to <<Compiling sssd with system
-installed libraries>>
If you want to build them from source download the latest samba master branch
-and use the following instructions
-Compiling libraries yourself
-NOTE: these instructions are temporary and will most likely change agt some
-point but so far the process I describe here is the best one to get something up
-and working while developing this project.
-Each library and the sssd service have a --with-shared-build-dir configure option
-that is useful to build the libraries so that you can build all pieces before
-installing each library as a dependency.
-If you just want to make a development build you can provide a temporary
-directory where libraries are installed during the build process in a way that
-let each dependent library find them without having to install each binary into
-its finally system library directory (ie build as user).
-I use the following steps to build all pieces.
+Internal Library Requirements
+sssd provides several required libraries within its source tree:
-export LD_LIBRARY_PATH=/tmp/foo/lib
-pushd lib/talloc; ./ && ./configure --with-shared-build-dir=/tmp/foo && make shared-build; popd
-pushd lib/tdb; ./ && ./configure --with-shared-build-dir=/tmp/foo && make shared-build; popd
-pushd lib/tevent; ./ && ./configure --with-shared-build-dir=/tmp/foo && make shared-build; popd
-pushd source4/lib/ldb; ./ && ./configure --with-shared-build-dir=/tmp/foo && make shared-build; popd
-Compiling sssd using shared-build
+Compiling sssd internal libraries
-pushd server; ./ && ./configure --with-shared-build-dir=/tmp/foo && make; popd
-At this point you can start testing the sssd daemon this way:
-cd server
-export LD_LIBRARY_PATH=/tmp/foo/lib
-./sbin/sssd -i
+pushd common; \
+autoreconf -i -f && \
+./configure --enable-static --disable-shared && \
+make; \
-This will start the sssd daemon in interactive mode.
+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; ./ && ./configure && make; popd
+pushd server; \
+./ && \
+./configure && \
+make; \
Compiling client libraries
-The nss and pam client doesn't need any dependency nor supports the
-shared-build option.
+The nss and pam client do not require any additional dependencies.
-pushd sss_client; ./ && ./configure && make; popd
+pushd sss_client; \
+./ && \
+./configure && \
+make; \
-Now you have to copy libnss_sss* into /lib (or /lib64) and add the 'sss' traget
+Now you have to copy libnss_sss* into /lib (or /lib64) and add the 'sss' target
to nsswitch.conf passwd database
For pam copy into /lib/security (or /lib64/security) and add
@@ -76,4 +65,4 @@ Now you can call pam_test_client:
./pam_test_client [auth|chau|acct|setc|open|clos] username@domain
+Simo and Steve