Skip to content

Easybuild Usage Example

EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

Creating and Using Ecosystem

Flight Env provides quick setup methods to create an easybuild software ecosystem.

To install and use easybuild:

[flight@chead1 ~]$ flight env create easybuild
Creating environment easybuild@default
   >  Verifying prerequisites
   >  Fetching prerequisite (lua)
   >  Extracting prerequisite (lua)
   >  Building prerequisite (lua)
   >  Installing prerequisite (lua)
   >  Fetching prerequisite (tcl)
   >  Extracting prerequisite (tcl)
   >  Building prerequisite (tcl)
   >  Installing prerequisite (tcl)
   >  Fetching prerequisite (lmod)
   >  Extracting prerequisite (lmod)
   >  Configuring prerequisite (lmod)
   >  Installing prerequisite (lmod)
   >  Fetching prerequisite (easybuild)
   >  Bootstrapping EasyBuild environment (easybuild@default)
Environment easybuild@default has been created
  • Activate the easybuild ecosystem:
    [flight@chead1 ~]$ flight env activate easybuild
    <easybuild> [flight@chead1 ~]$
    
  • Check that easybuild can be run:
    <easybuild> [flight@chead1 ~]$ module load EasyBuild
    <easybuild> [flight@chead1 ~]$ eb --version
    This is EasyBuild 3.9.4 (framework: 3.9.4, easyblocks: 3.9.4) on host chead1.pri.basic.cluster.local.
    

Installing and Running Perl

An example workflow using perl is demonstrated below.

  • View available versions:
    <easybuild> [flight@chead1 ~]$ eb -S perl
    CFGS1=/home/flight/.local/share/flight/env/easybuild+default/software/EasyBuild/3.9.4/lib/python2.7/site-packages/easybuild_easyconfigs-3.9.4-py2.7.egg/easybuild/easyconfigs
     * $CFGS1/a/annovar/annovar-2016Feb01-foss-2016a-Perl-5.22.1.eb
     * $CFGS1/b/Bio-DB-HTS/Bio-DB-HTS-2.11-foss-2017b-Perl-5.26.0.eb
     * $CFGS1/b/Bio-DB-HTS/Bio-DB-HTS-2.11-foss-2018b-Perl-5.28.0.eb
     * $CFGS1/b/Bio-DB-HTS/Bio-DB-HTS-2.11-intel-2017b-Perl-5.26.0.eb
    <-- snip -->
     * $CFGS1/p/Perl/Perl-5.26.1-GCCcore-6.4.0.eb
     * $CFGS1/p/Perl/Perl-5.26.1-foss-2018a-bare.eb
     * $CFGS1/p/Perl/Perl-5.26.1-foss-2018a.eb
     * $CFGS1/p/Perl/Perl-5.28.0-GCCcore-7.3.0.eb
     * $CFGS1/p/Perl/Perl-5.28.1-GCCcore-8.2.0.eb
    <-- snip -->
     * $CFGS1/y/YAML-Syck/YAML-Syck-1.27-goolf-1.4.10-Perl-5.16.3.eb
     * $CFGS1/y/YAML-Syck/YAML-Syck-1.27-ictce-5.3.0-Perl-5.16.3.eb
    
    Note: 9 matching archived easyconfig(s) found, use --consider-archived-easyconfigs to see them
    
  • Install specific version:

    <easybuild> [flight@chead1 ~]$ eb Perl-5.28.1-GCCcore-8.2.0.eb --robot
    == temporary log file in case of crash /tmp/eb-MdohD2/easybuild-J6tjhZ.log
    == resolving dependencies ...
    == processing EasyBuild easyconfig /home/flight/.local/share/flight/env/easybuild+default/software/EasyBuild/3.9.4/lib/python2.7/site-packages/easybuild_easyconfigs-3.9.4-py2.7.egg/easybuild/easyconfigs/m/M4/M4-1.4.18.eb
    == building and installing M4/1.4.18...
    == fetching files...
    == creating build dir, resetting environment...
    == unpacking...
    == patching...
    == preparing...
    == configuring...
    == building...
    <-- snip -->
    

  • Check installation location:

    <easybuild> [flight@chead1 ~]$ which perl
    

  • Install perl library (this may prompt for initial cpan configuration, once configuration is complete then the library will be installed):
    <easybuild> [flight@chead1 ~]$ cpan File::Slurp
    Loading internal null logger. Install Log::Log4perl for logging messages
    Reading '/home/flight/.cpan/Metadata'
      Database was generated on Mon, 09 Sep 2019 15:47:03 GMT
    Running install for module 'File::Slurp'
    <-- snip -->
    
  • Check installation worked:
    <easybuild> [flight@chead1 ~]$ cpan File::Slurp
    Loading internal null logger. Install Log::Log4perl for logging messages
    Reading '/home/flight/.cpan/Metadata'
      Database was generated on Mon, 09 Sep 2019 15:47:03 GMT
    File::Slurp is up to date (9999.27).