Where to find the code

The LFC and DPM code is located in the EGEE JRa1 Middleware CVS repository.

It consists of two modules :

  • LCG-DM

To be able to check them out, you should set :

export CVSROOT=:ext:your_afs_login@glite.cvs.cern.ch:/cvs/glite
export CVS_RSH=ssh

RPMs names

The following RPMs are generated from LCG-DM :

  • lcg-dm-common (common dependency to LFC & DPM)
  • LFC-client
  • LFC-server-mysql (and oracle)
  • LFC-interfaces (Perl and Python interfaces)
  • DPM-client
  • DPM-server-mysql (and oracle)
  • DPM-name-server-mysql (and oracle)
  • DPM-srm-server-mysql (and oracle)
  • DPM-rfio-server

And from DPM-FTP :

  • DPM-gridftp-server


To build the LFC / DPM, the following RPMs are required :

  • gsoap-linux
  • swig
  • Perl
  • Python
  • gpt-VDT
  • vdt_globus_essentials + /opt/globus/lib in /etc/ld.so.conf + run ldconfig
  • vdt_globus_sdk

If globus_config.h is missing, run this by hand :

export GLOBUS_LOCATION=/opt/globus
export GLOBUS_PATH=/opt/globus
export GPT_LOCATION=/opt/gpt

${GPT_LOCATION}/sbin/gpt-build -force -nosrc -builddir=/tmp/globus_core.$$ gcc32 gcc32pthr gcc32dbg gcc32dbgpthr

As from version 1.4.0, VOMS version 1.5.4 is also required :

  • voms-api-gcc32dbgpthr-_gcc3_2_2-1.5.4-1_sl3.i386.rpm
  • voms-api_gcc3_2_2-1.5.4-1_sl3.i386.rpm

They are in /afs/cern.ch/project/gd/RpmDir_i386-sl3/wp6.

Once the LFC/DPM RPMs have been built, they are in LCG-DM/RPMS/i386/, and the source RPMs in LCG-DM/SRPMS/

Mysql RPMs

The LCG-DM/config/site.def file determines which directories/modules will be built.

  • DPM RPMs :

$ cvs co LCG-DM
$ cd LCG-DM/
$ cd scripts
$ chmod +x choose-module
$ ./choose-module mysql dpm
$ cd ..
$ ./configure
$ make rpm

  • LFC RPMs :

$ make clobber
$ cd scripts/
$ ./choose-module mysql lfc
$ cd ..
$ ./configure
$ make rpm

  • lcg-dm-common RPM :

$ make clobber
$ cd scripts/
$ chmod +x choose-module
$ ./choose-module mysql dm
$ cd ..
$ ./configure
$ make rpm

Oracle rpms

Set up the Oracle environment beforehand :

$ source /afs/cern.ch/project/oracle/script/setoraenv.sh -s 10103

Check that $ORACLE_HOME and $LD_LIBRARY_PATH are correctly set.

Then, replace ./choose-module mysql module by ./choose-module oracle module, and make rpm by make rpm-oracle, and the procedure is the same as for the Mysql RPMs !

DPM-enabled Gridftp server rpm

The procedure to generate them is :

  • check the latest tag, lcg1_3_8 for instance

  • then do :

$ cvs co DPM-FTP
$ cd DPM-FTP
$ ./create-DPM-gridftp-rpm lcg1_3_8

  • check that the build is over in the gridftp log, DPM_gridftp_rpm/vdt-1.2.0-build/log_date :

$ tail -f DPM_gridftp_rpm/vdt-1.2.0-build/log.051013_151541
cvs-build: finished Oct.13.2005  15:52:43
cvs-build: runtime: 35 minutes 4 seconds

  • when the build is finished, generate the RPMs :

$ cd DPM_gridftp_rpm/DPM-FTP
$ make -f Makefile.rpm
$ make -f Makefile.rpm rpm

The RPM will be DPM_gridftp_rpm/DPM-FTP/RPMS/i386/, and the source RPMs in DPM_gridftp_rpm/DPM-FTP/SRPMS/


These procedures have been integrated into the ETICS build system by Akos Frohner.

Here is the new LFC and DPM release procedure.

-- SophieLemaitre - 01 Nov 2007

This topic: LCG > WebHome > LCGGridDeployment > LCGSoftware > DataManagementTop > DevelopersDocumentation > GenerateLfcDpmRpms
Topic revision: r9 - 2007-11-01 - SophieLemaitre
This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback