Building gLExec from src rpm gLite era
From PDP/Grid Wiki
Revision as of 10:15, 1 October 2009 by Msalle@nikhef.nl (talk | contribs)
How to build gLExec from a .src.rpm
Different versions can be used, this is a working example and work in progress...
- Platform: Centos-4
- Yum Installed
rpm-build gcc gcc-c++ make libtool
- For 64bit we also need to yum install (to fulfill a vdt dependency)
glibc.i686
- Installed extra packages (rpm -i)
32bit vdt_globus_essentials-VDT1.6.1x86_rhas_4-9.i386.rpm org.glite.build.common-cpp-3.2.1-2.slc4.i386.rpm glite-security-voms-api-c-1.8.12-1.slc4.i386.rpm glite-security-voms-api-cpp-1.8.12-1.slc4.i386.rpm glite-security-lcas-interface-1.3.11-1.slc4.i386.rpm glite-security-lcas-1.3.11-2.slc4.i386.rpm glite-security-lcmaps-1.4.7-1.slc4.i386.rpm
64bit vdt_globus_essentials-VDT1.6.1x86_64_rhas_4-9.x86_64.rpm org.glite.build.common-cpp-3.2.1-2.slc4.x86_64.rpm glite-security-voms-api-c-1.8.12-1.slc4.x86_64.rpm glite-security-voms-api-cpp-1.8.12-1.slc4.x86_64.rpm glite-security-lcas-interface-1.3.11-1.slc4.x86_64.rpm glite-security-lcas-1.3.11-2.slc4.x86_64.rpm glite-security-lcmaps-1.4.7-1.slc4.x86_64.rpm
- Alternative, for 32bit only: setup a Yum repository:
cat > /etc/yum.repos.d/glite-GLEXEC_wn.repo << EOF [glite-GLEXEC_wn] name=gLite 3.1 gLExec Worker Node baseurl=http://linuxsoft.cern.ch/EGEE/gLite/R3.1/glite-GLEXEC_wn/sl4/$basearch/ enabled=1 gpgcheck=0 EOF yum install glite-security-lcmaps glite-security-lcas glite-security-lcas-interface
Unfortunately org.glite.build.common-cpp-3.2.1-2.slc4.i386.rpm still has to be installed by hand from Etics.
- Installed from tarball into /opt/globus:
32bit globus-4.0.3-VDT-1.6.1-9.tar.gz
64bit globus-4.0.3-VDT-1.6.1-9.tar.gz
- NOTE: it would have been sufficient to install vdt_globus_sdk-VDT1.6.1x86_rhas_4-9.i386.rpm (32bit) or vdt_globus_simple_ca-VDT1.6.1x86_64_rhas_4-9.x86_64.rpm (64bit), but unfortunately these don't contain the files /opt/globus/include/gcc64*/globus_config.h which is why it is easier to install the tarball. See also [1] for a way to rebuild the globus_config.h files.
- Created /etc/ld.so.conf.d/glite.conf and /etc/ld.so.conf.d/globus.conf:
32bit
echo /opt/glite/lib > /etc/ld.so.conf.d/glite.conf echo /opt/globus/lib > /etc/ld.so.conf.d/globus.conf ldconfig
64bit
echo /opt/glite/lib64 > /etc/ld.so.conf.d/glite.conf echo /opt/globus/lib > /etc/ld.so.conf.d/globus.conf ldconfig
- installed (rpm -i)
glite-security-glexec-0.6.8-3.src.rpm
- patch /usr/src/redhat/SPECS/glite-security-glexec.spec
32bit
--- /usr/src/redhat/SPECS/glite-security-glexec.spec.orig 2009-09-30 12:10:03.000000000 +0200 +++ /usr/src/redhat/SPECS/glite-security-glexec.spec 2009-09-30 16:48:57.000000000 +0200 @@ -35,7 +35,7 @@ %install rm -rf $RPM_BUILD_ROOT - make DESTDIR=$RPM_BUILD_ROOTinstall + make install find $RPM_BUILD_ROOT/%{prefix} -name '*.la' -exec rm -rf {} \; %clean
64bit
--- glite-security-glexec.spec.orig 2009-09-30 17:50:54.000000000 +0200 +++ glite-security-glexec.spec 2009-10-01 10:51:46.000000000 +0200 @@ -28,14 +28,14 @@ %setup %build - ./configure --prefix=$RPM_BUILD_ROOT/%{prefix} --with-glite-location=/opt/glite --with-globus-prefix=/opt/globus --with-globus-thr-flavor=gcc32dbgpthr --with-globus-nothr-flavor=gcc32dbg + ./configure --prefix=$RPM_BUILD_ROOT/%{prefix} --with-glite-location=/opt/glite --with-globus-prefix=/opt/globus --with-globus-thr-flavor=gcc64dbgpthr --with-globus-nothr-flavor=gcc64dbg make %install rm -rf $RPM_BUILD_ROOT - make DESTDIR=$RPM_BUILD_ROOTinstall + make install find $RPM_BUILD_ROOT/%{prefix} -name '*.la' -exec rm -rf {} \; %clean
- Create rpm:
cd /usr/src/redhat rpmbuild -bb SPECS/glite-security-glexec.spec
- TODO:
provide a script which does all the above steps...