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

From PDP/Grid Wiki
Jump to navigationJump to search
Line 44: Line 44:
  
 
== LCMAPS ==
 
== LCMAPS ==
Dependencies: [[#Prerequisites: Globus and global settings|Globus]] and [[#VOMS API|VOMS API]]
+
Dependencies: [[#Prerequisites: Globus and global settings|Globus]], [[#VOMS API|VOMS API]]
  
 
''Note'': It is important to use the given <tt>org.glite.build.common-cpp</tt> version!
 
''Note'': It is important to use the given <tt>org.glite.build.common-cpp</tt> version!
Line 117: Line 117:
 
  cp -p ../org.glite.build.common-cpp/m4/{glite,glite_security}.m4 ./project
 
  cp -p ../org.glite.build.common-cpp/m4/{glite,glite_security}.m4 ./project
 
  ./bootstrap
 
  ./bootstrap
  ./configure --prefix=${prefix}
+
  ./configure --prefix=${prefix} --with-glite-location=${glite}
 +
make && make install
 +
 
 +
== LCMAPS plugins voms ==
 +
Dependencies: [[#Prerequisites: Globus and global settings|Globus]], [[#VOMS API|VOMS API]], [[#LCMAPS|LCMAPS]]
 +
cd ${source}
 +
cvs co org.glite.security.lcmaps-plugins-voms
 +
cd org.glite.security.lcmaps-plugins-voms
 +
cp -p ../org.glite.build.common-cpp/m4/{glite,glite_security,globus,lcmaps,gridlist}.m4 ./project
 +
./bootstrap
 +
./configure --prefix=${glite}
 
             --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}
 +
make && make install
 +
 +
== PEP-C Library ==
 +
''Note'': the way the PEP-C library determines the library path is not fully compatible with the way LCMAPS does it. To fix this, define:
 +
export pepclibdir=${glite}/<libdir used by LCMAPS>
 +
 +
cd ${source}
 +
svn co http://svnweb.cern.ch/guest/glxa/pep-c-lib/tags/1_3_0 org.glite.authz.pep-c
 +
cd org.glite.authz.pep-c
 +
./autotools.sh
 +
./configure --prefix=${glite} --libdir=${pepclibdir}
 +
make && make html && make install
 +
 +
== LCMAPS plugins C-pep ==
 +
Dependencies: [[#LCMAPS|LCMAPS]], [[#PEP-C Library|PEP-C Library]]
 +
cd ${source}
 +
cvs co org.glite.security.lcmaps-plugins-c-pep
 +
cd org.glite.security.lcmaps-plugins-c-pep
 +
cp -p ../org.glite.build.common-cpp/m4/{glite,glite_security}.m4 ./project
 +
./bootstrap
 +
./configure --prefix=${glite} --with-glite-location=${glite}
 
  make && make install
 
  make && make install

Revision as of 13:55, 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, 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, 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, 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

LCMAPS plugins verify-proxy

Dependencies: LCMAPS

cd ${source}
cvs co org.glite.security.lcmaps-plugins-verify-proxy
cd org.glite.security.lcmaps-plugins-verify-proxy
cp -p ../org.glite.build.common-cpp/m4/{glite,glite_security}.m4 ./project
./bootstrap
./configure --prefix=${prefix} --with-glite-location=${glite}
make && make install

LCMAPS plugins voms

Dependencies: Globus, VOMS API, LCMAPS

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

PEP-C Library

Note: the way the PEP-C library determines the library path is not fully compatible with the way LCMAPS does it. To fix this, define:

export pepclibdir=${glite}/<libdir used by LCMAPS>
cd ${source}
svn co http://svnweb.cern.ch/guest/glxa/pep-c-lib/tags/1_3_0 org.glite.authz.pep-c
cd org.glite.authz.pep-c
./autotools.sh
./configure --prefix=${glite} --libdir=${pepclibdir}
make && make html && make install

LCMAPS plugins C-pep

Dependencies: LCMAPS, PEP-C Library

cd ${source}
cvs co org.glite.security.lcmaps-plugins-c-pep
cd org.glite.security.lcmaps-plugins-c-pep
cp -p ../org.glite.build.common-cpp/m4/{glite,glite_security}.m4 ./project
./bootstrap
./configure --prefix=${glite} --with-glite-location=${glite}
make && make install