Building gLExec and its gLite dependencies from SVN source

From PDP/Grid Wiki
Jump to navigationJump to search

Introduction

This page explains the steps needed to build gLite tools, in particular gLExec and its LCMAPS and LCAS dependencies directly from the source in CVS.

Prerequisites: Globus and global settings

At this point we depend on a (binary) globus installation. For the following OSes it can be found in the Etics repositories:

Set the following exports:

export globus_flav=gcc32
or
export globus_flav=gcc64

And additionally, adapted to personal taste:

export source=/tmp/source       # Where to download sources
export globus=/tmp/build/globus # Where to install globus
export glite=/tmp/build/glite   # Where to find glite builds
export prefix=${glite}          # Where to install glite builds
export CVSROOT=:pserver:anonymous@glite.cvs.cern.ch:/cvs/glite  # anonymous CVS root

Make sure ${source} exists.

Since all these tarballs assume installation in /opt/globus unpack and 'relocate' as follows:

mkdir -p ${globus} && \
cd ${globus} && \
tar -zxf <globus tarball> && \
find -type f -name \*.la|while read file;do
    sed s+/opt/globus+${globus}+g ${file} > ${file}.new && \
        mv -f ${file}.new ${file}
done

VOMS API

Dependencies: [[[Prerequisites: Globus and global settings|Globus]]]

cd ${source}
cvs co -r glite-security-voms_R_1_9_16_2 org.glite.security.voms
cd org.glite.security.voms
./configure --prefix=${prefix} --with-globus-prefix=${globus} --disable-java --with-api-only
make && make install

LCMAPS

Dependencies: Globus and VOMS API

Note: It is important to use the given org.glite.build.common-cpp version!

cd ${source}
cvs co org.glite.security.lcmaps
cvs co -r glite-build-common-cpp_R_3_2_7_1 org.glite.build.common-cpp
cd org.glite.security.lcmaps
cp -p ../org.glite.build.common-cpp/m4/{globus,glite,glite_security,lcmaps}.m4 ./project
./bootstrap
./configure --prefix=${prefix} \
            --with-glite-location=${glite} \
            --with-globus-prefix=${globus} --with-globus-thr-flavor=${globus_flav}pthr --with-globus-nothr-flavor=${globus_flav}
make && make install

LCAS

Dependencies: Globus

Note: glite-build-common-cpp is also checked out under LCMAPS.

cd ${source}
cvs co org.glite.security.lcas
cvs co -r glite-build-common-cpp_R_3_2_7_1 org.glite.build.common-cpp
cd org.glite.security.lcas
cp -p ../org.glite.build.common-cpp/m4/{glite,globus,lcmaps}.m4 ./project
./bootstrap && \
./configure --prefix=${prefix} \
            --with-glite-location=${glite} \
            --with-globus-prefix=${globus} --with-globus-thr-flavor=${globus_flav}pthr --with-globus-nothr-flavor=${globus_flav}
make && make install