Tags:
,
view all tags
---+ Tutorial on WMS build and debian package creation %TOC% This tutorial assumes that you have GIT access to WMS repository [[https://github.com/MarcoCecchi/org.glite.wms]]. It will help you to build all the component that you get when cloning the WMS GIT repository without the etics's build automation tools. ---++ Pre-Requisites for build on SL6 * A "virgin" SLC6 installation * yum-autoupdate disabled; execute as root: <verbatim> chkconfig --level 0123456 yum-autoupdate off /etc/init.d/yum-autoupdate stop </verbatim> * EMI2 repo for external dependencies installation via yum; execute: <verbatim> wget http://emisoft.web.cern.ch/emisoft/dist/EMI/2/RPM-GPG-KEY-emi rpm --import RPM-GPG-KEY-emi yum -y install yum-priorities wget http://emisoft.web.cern.ch/emisoft/dist/EMI/2/sl6/x86_64/base/emi-release-2.0.0-1.sl6.noarch.rpm rpm -ivh emi-release-2.0.0-1.sl6.noarch.rpm </verbatim> * Remove the pre-installed c-ares package (that is wrong version): <verbatim> rpm -e --nodeps c-ares-1.7.0-6.el6.x86_64 </verbatim> * Install all needed dependencies: <verbatim> yum -y install mod_fcgid mod_ssl gridsite-apache httpd-devel zlib-devel boost-devel \ c-ares-devel glite-px-proxyrenewal-devel voms-devel voms-clients argus-pep-api-c-devel \ lcmaps-without-gsi-devel lcmaps-devel classads-devel glite-build-common-cpp \ gsoap-devel libtar-devel cmake globus-ftp-client globus-ftp-client-devel log4cpp-devel \ log4cpp glite-jobid-api-c glite-jobid-api-c-devel glite-jobid-api-cpp-devel openldap-devel \ glite-wms-utils-exception glite-wms-utils-classad chrpath cppunit-devel \ glite-wms-utils-exception-devel glite-wms-utils-classad-devel glite-jdl-api-cpp-devel \ glite-lb-client-devel glite-lbjp-common-gsoap-plugin-devel </verbatim> ---++ Checking out WMS from GIT repository As normal user (having the GIT access as said above) clone the WMS repository: <verbatim> cd $HOME; git clone --progress -v https://github.com/MarcoCecchi/org.glite.wms.git WMS </verbatim> (it is better if possible to use the ssh access: =git clone --progress git@github.com:MarcoCecchi/org.glite.wms.git WMS=) ---++ Pre-Requisites for build on Debian and for .deb packaging Execute (as root) the following commands: <verbatim> apt-get install curl curl http://emisoft.web.cern.ch/emisoft/dist/EMI/2/debian/dists/squeeze/main/binary-amd64/emi-release_2.0.0-1.deb6.1_all.deb \ -o emi-release_2.0.0-1.deb6.1_all.deb dpkg -i emi-release_2.0.0-1.deb6.1_all.deb apt-get install build-essential autoconf automake autotools-dev dh-make debhelper \ devscripts fakeroot xutils lintian pbuilder cmake dpkg-dev pkg-config </verbatim> Now an extra EMI software repository is needed to be able to install =glite-jobid*= packages; as root do the following: <verbatim> curl http://eticssoft.web.cern.ch/eticssoft/pbuilder/emi-2-deb6-test-x86_64.list -o /etc/apt/sources.list.d/emi-2-deb6-test-x86_64.list apt-get update </verbatim> Now you can install some dependencies needed by WMS's build (as root): <verbatim> apt-get install libglite-jobid-api-c-dev libglite-jobid-api-cpp-dev libglite-jobid2 libclassad0-dev \ liblog4cpp5-dev libglobus-io-dev libglobus-gss-assist-dev libglobus-ftp-client-dev \ libglobus-common-dev libboost-regex-dev libboost-filesystem-dev libboost-date-time-dev </verbatim> Now, some dependencies internal and external do not provice the pkg-config .pc files (this is the case of boost, classad, etc.). As root follow these steps: <verbatim> curl http://devel12.cnaf.infn.it:7444/pub/emi/packaging/deb/emi-pkgconfig-compat/deb-emi-pkgconfig-compat-head \ -o deb-emi-pkgconfig-compat-head chmod +x deb-emi-pkgconfig-compat-head ./deb-emi-pkgconfig-compat-head dpkg -i BINARIES/emi-pkgconfig-compat_1.0.1-1_all.deb </verbatim> At this point your debian box is ready to build WMS software, logout and login as "normal" user. ---++ Build (on both SL6 and Debian6_2) These are the steps to follow (at the moment only the =org.glite.wms.common= component is covered): <verbatim> cd $HOME mkdir WORKAREA cd WORKAREA git clone git://github.com/italiangrid/classad-utils.git git clone git://github.com/italiangrid/jobman-exception.git git clone https://github.com/MarcoCecchi/org.glite.wms.git cd classad-utils cmake . -DCMAKE_INSTALL_PREFIX=$HOME/WORKAREA/stage -Dprefix=$HOME/WORKAREA/stage/usr -Dexec_prefix=$HOME/WORKAREA/stage/usr -Dlibdir=$HOME/WORKAREA/stage/usr/lib -Dincludedir=$HOME/WORKAREA/stage/usr/include -DPVER=$VERSION make install cd .. cd jobman-exception cmake . -DCMAKE_INSTALL_PREFIX=$HOME/WORKAREA/stage -Dprefix=$HOME/WORKAREA/stage/usr -Dexec_prefix=$HOME/WORKAREA/stage/usr -Dlibdir=$HOME/WORKAREA/stage/usr/lib -Dincludedir=$HOME/WORKAREA/stage/usr/include -DPVER=$VERSION make install cd .. cd org.glite.wms/org.glite.wms.common cmake . -DPREFIX=$HOME/WORKAREA/stage/usr -DINSTALL_BUILD_DEV=$HOME/WORKAREA/debian/build_dev/org.glite.wms.common/usr -DINSTALL_BUILD=$HOME/WORKAREA/debian/build_nodev/org.glite.wms.common/usr -DOFFICIAL_INSTALL_PREFIX=/usr -DPVER=$VERSION make install </verbatim> In order to make sure that everything worked try to execute an executable provided by =org.glite.wms.common=: <verbatim> export LD_LIBRARY_PATH=$HOME/WORKAREA/stage/usr/lib $HOME/WORKAREA/stage/usr/bin/glite-wms-get-configuration Configuration problem: file "glite_wms.conf" not found in the path(s) /etc/glite-wms, /opt/glite/etc, /etc, </verbatim> It doesn't matter the error output, this is just to verify that the exe is correctly compiled and linked. *TBC* ---++ Produce the debian packages The control and .install files needed to produce the .deb packages are already there, in the =org.glite.wms.common/debian= directory. To produce the debian packages it's just matter of change dir on the directories specified when cmake has been invoked (look above for the INSTALL_BUILD and INSTALL_BUILD_DEV macros) and execute the .deb build command. Then do the following: <verbatim> cd $HOME/WORKAREA/org.glite.wms/org.glite.wms.common mkdir -p $HOME/WORKAREA/debian/build_nodev/org.glite.wms.common/DEBIAN cp debian/deb-control-file.txt $HOME/WORKAREA/debian/build_nodev/org.glite.wms.common/DEBIAN/control cp debian/libglite-wms-common.install $HOME/WORKAREA/debian/build_nodev/org.glite.wms.common/DEBIAN/ mkdir -p $HOME/WORKAREA/debian/build_dev/org.glite.wms.common/DEBIAN cp debian/deb-control-file-dev.txt $HOME/WORKAREA/debian/build_dev/org.glite.wms.common/DEBIAN/control cp debian/libglite-wms-common-dev.install $HOME/WORKAREA/debian/build_dev/org.glite.wms.common/DEBIAN/ dpkg -b $HOME/WORKAREA/debian/build_nodev/org.glite.wms.common $HOME/WORKAREA/debian/build_nodev/org.glite.wms.common/glite-wms-common.deb dpkg -b $HOME/WORKAREA/debian/build_dev/org.glite.wms.common $HOME/WORKAREA/debian/build_dev/org.glite.wms.common/glite-wms-common-dev.deb </verbatim> -- Main.AlviseDorigo - 2012-10-04
Edit
|
Attach
|
PDF
|
H
istory
:
r14
<
r13
<
r12
<
r11
<
r10
|
B
acklinks
|
V
iew topic
|
More topic actions...
Topic revision: r12 - 2012-10-12
-
AlviseDorigo
Home
Site map
CEMon web
CREAM web
Cloud web
Cyclops web
DGAS web
EgeeJra1It web
Gows web
GridOversight web
IGIPortal web
IGIRelease web
MPI web
Main web
MarcheCloud web
MarcheCloudPilotaCNAF web
Middleware web
Operations web
Sandbox web
Security web
SiteAdminCorner web
TWiki web
Training web
UserSupport web
VOMS web
WMS web
WMSMonitor web
WeNMR web
WMS Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Edit
Attach
Copyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback