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

From PDP/Grid Wiki
Jump to navigationJump to search
Line 35: Line 35:
  
 
== VOMS API ==
 
== VOMS API ==
Dependencies: [[[Prerequisites: Globus and global settings|Globus]]]
+
Dependencies: [[#Prerequisites: Globus and global settings|Globus]]
  
 
  cd ${source}
 
  cd ${source}
Line 44: Line 44:
  
 
== LCMAPS ==
 
== LCMAPS ==
Dependencies: [[Prerequisites: Globus and global settings|Globus]] and [[VOMS API]]
+
Dependencies: [[#Prerequisites: Globus and global settings|Globus]] and [[#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 59: Line 59:
  
 
== LCAS ==
 
== LCAS ==
Dependencies: [[Prerequisites: Globus and global settings|Globus]]
+
Dependencies: [[#Prerequisites: Globus and global settings|Globus]]
  
''Note'': glite-build-common-cpp is also checked out under [[LCMAPS]].
+
''Note'': glite-build-common-cpp is also checked out under [[#LCMAPS]].
 
  cd ${source}
 
  cd ${source}
 
  cvs co org.glite.security.lcas
 
  cvs co org.glite.security.lcas

Revision as of 12:39, 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