Difference between revisions of "Building gLExec and its gLite dependencies from SVN source"

From PDP/Grid Wiki
Jump to navigationJump to search
Line 94: Line 94:
 
  ./bootstrap
 
  ./bootstrap
 
  ./configure --prefix=${prefix} \
 
  ./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
 +
 +
== LCMAPS plugins basic ==
 +
Dependencies: [[#Prerequisites: Globus and global settings|Globus]], [[#VOMS API|VOMS API]], [[#LCMAPS|LCMAPS]]
 +
cd ${source}
 +
cvs co org.glite.security.lcmaps-plugins-basic
 +
cd org.glite.security.lcmaps-plugins-basic
 +
cp -p ../org.glite.build.common-cpp/m4/{glite,globus,lcmaps,gridlist}.m4 ./project
 +
./bootstrap
 +
./configure --prefix=${prefix}
 
             --with-glite-location=${glite}
 
             --with-glite-location=${glite}
 
             --with-globus-prefix=${globus} --with-globus-thr-flavor=${globus_flav}pthr --with-globus-nothr-flavor=${globus_flav}
 
             --with-globus-prefix=${globus} --with-globus-thr-flavor=${globus_flav}pthr --with-globus-nothr-flavor=${globus_flav}
 
  make && make install
 
  make && make install

Revision as of 12:46, 3 June 2010

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: 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

LCAS interface

cd ${source}
cvs co org.glite.security.lcas-interface
cd org.glite.security.lcas-interface
cp -p ../org.glite.build.common-cpp/m4/glite.m4 ./project
./bootstrap
./configure --prefix=${prefix}
make install

gLExec

Dependencies: Globus, VOMS API, LCMAPS, LCAS, LCAS interface

Note: for Debian-5 set the following extra export:

export LDFLAGS="-Wl,--rpath -Wl,${globus}/lib"
cd ${source}
cvs co org.glite.security.glexec
cd org.glite.security.glexec
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

LCMAPS plugins basic

Dependencies: Globus, VOMS API, LCMAPS

cd ${source}
cvs co org.glite.security.lcmaps-plugins-basic
cd org.glite.security.lcmaps-plugins-basic
cp -p ../org.glite.build.common-cpp/m4/{glite,globus,lcmaps,gridlist}.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