SAML2-XACML2-C-LIB build instructions

From PDP/Grid Wiki
Jump to navigationJump to search

Download the software

Binary form (and available as YUM repo);

http://software.nikhef.nl/dist/redhat/el5/mwsec/

Work from a Source RPM by downloading the lastest version here:

http://software.nikhef.nl/dist/redhat/el5/mwsec/SRPMS/

Perform an SVN checkout (trunk):

http://ndpfsvn.nikhef.nl/ro/mwsec/trunk/saml2-xacml2-c-lib

Perform an SVN checkout (Tagged):

http://ndpfsvn.nikhef.nl/ro/mwsec/tags/saml2-xacml2-c-lib/${CHOOSE_LATEST_TAGGED_VERSION}

Note: As latest version, currently this is "1_0_1". But this can change over time. Visit the link with a webbrowser.

As tarball, choose the latest version:

http://software.nikhef.nl/security/saml2-xacml2-c-lib/

Note: You can double check the download with the SHA1 and SHA256 files.


Manual Building

Set some proper environment variables for the build:

export prefix="/usr";
export srclocation=`pwd`
export gsoaplocation="${srclocation}/gsoap-2.7-build"
export CXXFLAGS=-fPIC

Set the option to make a SAML2-XACML2-C-Lib service to used threading. This is the default build option for both clients as service to be enabled.

export CPPFLAG="-DXACML_ADDING_THREADING" ; 

Untar the gSOAP tarball and move into the directory:

tar xzf gsoap-2.7.17.tar.gz
 cd ${srclocation}/gsoap-2.7

Run configure and make:

./configure --prefix=${prefix}
make

Use make install DESTDIR to stage the gSOAP builds in a proper directory. The safest option is somewhere in your current build root:

make DESTDIR=${gsoaplocation} install

Go into the XACML src dir:

cd ${srclocation}/xacml-1.0

Depending upon the type of source file download or check out you've performed, you might need to run autotool with:

./bootstrap

Configure of XACML with reference to gSOAP and run make:

./configure --with-gsoap=${gsoaplocation}/usr --disable-static
make

For installation on your system (into /usr/local)

sudo make install


For builds into a different location, like a stage dir or a private stage dir

Redo the following step like this, with a prefix of your choice (default in "/usr"): Configure of XACML with reference to gSOAP and run make:

./configure --prefix=${prefix}--with-gsoap=${gsoaplocation}/usr --disable-static
make

If you want to create a distribution worthy package, I recommend to do:

./configure --prefix=${prefix}--with-gsoap=${gsoaplocation}/usr --disable-static
make
make DESTDIR=/tmp/my_build install

Important notice for 64 bit Fedora / Red Hat

Use in BOTH configure commands the option:

--libdir=${prefix}/lib64