-
Notifications
You must be signed in to change notification settings - Fork 10
Quickstart for the REALLY impatient
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 env-modules & git (with github.com default repos) and a handful of manual commands:
export WHERE=/opt/apps/local/software/easybuild/1.1.0 # wherever you fancy to place the installation
mkdir $WHERE && cd $WHERE
git clone [email protected]:hpcugent/easybuild-easyframework.git
git clone [email protected]:hpcugent/easybuild-easyblocks.git
git clone [email protected]:hpcugent/easybuild-easyconfigs.git
and the related 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 <[email protected]>
# 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
You might want to look at this one, in order to feed the manpage directory correctly: https://github.com/fgeorgatos/easybuild-framework/blob/develop/share/man/man1/eb.1 (the generation of this file is not yet automated in the framework but it may happen any time soon)
If you adjust the MODULEPATH accordingly, you should now be able to do module load easybuild ; man eb
etc!
At this point, the Python elegant language takes over :-P (just pick a compatible version)
enjoy, Fotis