This wiki is obsolete, see the NorduGrid web pages for up to date information.
Debian/Build
NOTE: This page is out of date and is kept for purely historical reasons. |
This page follows a request by David Cameron (many thanks!) and intends to summarise the steps that are required to get ARC alife and kicking on the fine Debian Linux distribution.
Building ARC packages locally
Why that? Because you may be
- actively developing ARC and want to use a later version than what is available via the repositories
- you are using a platform different from Debian amd64 or i386
- you just consider it a cool thing to do
Preparations
You don't need to prepare anything, really. Just use the script below. If you are considering to publish the packages, though, then you should however consider to perform the building in a clean environment. Debian is very good in supporting chroot environments. Follow this link to learn more about these.
Using shell scripts to perform the building for you
The build process is so easy that it was already scripted. Please inspect the folder svn://svn.nordugrid.org/repos/workarea/T5.2/debian-distribution for the files
- get_arc0_source_from_svn_and_prepare_debian_package.sh - retrieves ARC-0 from the subversion repository and builds it
- get_arc1_source_from_svn_and_prepare_debian_package.sh - analogously for ARC-1
Doing it all manually
If you are working on a svn checkout already then just install the package 'debhelper' with
apt-get install debhelper
and run
dpkg-buildpackage -uc -us -rfakeroot
as a regular user. The final package will appear in the directory above or where you have executed the get_arcX scripts. The authors of this page produced working packages only when they were prepared in chroot environments that are as small as possible. More reports in this matter are appreciated to help identifying interfering libraries.
OS environment recommendation
The following environment variables should be set to contribute towards a smooth operation.
This has nothing to do with ARC at all, but when submitting to the subversion directory, it is good to have specified the EDITOR you prefer
export EDITOR=vim
We are working towards getting the GPT_LOCATION to /usr, we are not there, yet
export GPT_LOCATION=/opt/globus export VOMS_LOCATION=/usr
The PATH variable determines which binaries are found when only their name is typed.
export PATH=${PATH}:$GLOBUS_LOCATION/sbin:$GLOBUS_LOCATION/bin
Some smaller changes to the build process can also be performed via environment variables. However, be aware that these are then nowhere documented as such. It is preferred to change change the file debian/rules, say, if you have different opinions on compiler flags, which would otherwise also be changed via:
export CXXFLAGS="-g3 -O0 -Wall"
Also consider to change debian/changeroot to give the Debian package a distinctive version that indicates this change.
- ARC-1
export ARC_LOCATION=/usr export ARC_BARTENDER_URL="http://knowarc1.grid.niif.hu:50000/Bartender"
- ARC-0
export NORDUGRID_LOCATION=/opt/nordugrid export PATH=${PATH}:$NORDUGRID_LOCATION/sbin:$NORDUGRID_LOCATION/bin
Building Globus packages locally
Globus is fairly easy to build, but if it does not work, it is tedious to locate the issue. The instructions above all assumed that the already prepared Debian packages of Globus should be used to build ARC. Instructions how to build these by oneself are collected under this link.
and those for VOMS
Right, one tends to forget about the virtual organisations. The default packages for ARC require those packages to exist at build time.