This wiki is obsolete, see the NorduGrid web pages for up to date information.

Debian/Build

From NorduGrid
Jump to navigationJump to search

Warn.png

NOTE: This page is out of date and is kept for purely historical reasons.
ARC now builds natively out of the box on Debian with no special setup required.

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


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.