Skip to content

Quickstart for the REALLY impatient

fgeorgatos edited this page Feb 8, 2013 · 3 revisions

OK, here we go.

It seems that the python mechanisms to install easybuild are not portable enough across different platforms; here is an attempt to document the method that I have been using since day 1 and has been very robust, up to now. It is simply based on git with github.com and a couple manual commands:

export WHERE=/opt/apps/local/software/easybuild/1.1.0 # wherever you fancy place the installation
mkdir $WHERE
cd $WHERE
git clone git@github.com:hpcugent/easybuild-easyframework.git
git clone git@github.com:hpcugent/easybuild-easyblocks.git
git clone git@github.com:hpcugent/easybuild-easyconfigs.git

and the modulefile follows hereby: (eg. save it a file, eg. /opt/apps/local/modules/all/easybuild/1.1.0, and then try module load /opt/apps/local/modules/all/easybuild/1.1.0)

#%Module
##
# This file is an EasyBuild recipy as per https://github.com/hpcugent/easybuild
#
# Copyright:: Copyright 2012-2013 University of Luxembourg/Luxembourg Centre for Systems Biomedicine
# Authors::   Fotis Georgatos <fotis.georgatos@uni.lu>
# License::   MIT/GPL
# $Id$
#
# This work implements a part of the HPCBIOS project and is a component of the policy:
# http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-92.html
##

proc ModulesHelp { } {
    puts stderr {   EASYBUILD is a build framework that lets you work more quickly and integrate your systems more effectively. - Homepage: http://EASYBUILD.org/
}
}

module-whatis "EASYBUILD is a build framework that lets you work more quickly and integrate your systems more effectively. - Homepage: http://EASYBUILD.org/"

## version & location
set ebver   1.1.0
set root    /opt/apps/local/software/easybuild/$ebver

## this modulefile will be more elegant by using these definitions
set EB_framework      $root/easybuild-framework
set EB_easyblocks     $root/easybuild-easyblocks
set EB_easyconfigs    $root/easybuild-easyconfigs
set cfgs              $EB_easyconfigs/easybuild/easyconfigs/

## prevent from loading together with other versions of easybuild
conflict    easybuild

## variables to define - this is the important part - the first two are uni.lu customizations
setenv          EBHOME          $EB_easyconfigs
prepend-path    EBPATH          $EB_easyconfigs
prepend-path    MANPATH         $EB_framework/share/man
prepend-path    PATH            $EB_framework
prepend-path    PYTHONPATH      $EB_easyblocks:$EB_framework
setenv          CFGS            $cfgs

## uni-lu customization, saves keystrokes and skips warnings on a Debian platform
set-alias eb "time eb --robot $cfgs --strict=ignore"

## uncomment on as needed basis
# setenv	EASYBUILDBUILDPATH      /dev/shm/
# setenv	EASYBUILDPREFIX         /tmp/EASYBUILD-TEST

## For conformity with the rest of the produced modules
setenv	EBROOTEASYBUILD		$root
setenv	EBVERSIONEASYBUILD	$ebver

If you adjust the MODULEPATH accordingly, you should now be able to do module load easybuild etc!

enjoy, Fotis