Skip to content
boegel edited this page Aug 31, 2012 · 29 revisions

Overview


## Basic usage

(note: we will use $EBHOME to indicate the location where EasyBuild was installed)

Using EasyBuild is really easy: just run the eb script and specify which software you want to build.

You can do this either by supplying an easyconfig file (.eb), or only using command line options and hope that EasyBuild is able to figure out or generate a matching build specification.

Recommended basic usage, by supplying an easyconfig file:

$EBHOME/eb example.eb

With supplying an easyconfig file (not recommended, more likely to fail):

$EBHOME/eb --software-name=gzip

EasyBuild will then try to build and install the software following the given specifications.

EasyBuild offers various command line options to access other features, see below.

### `-h`, `--help`: List of available options

To obtain the list of available options, just run the eb script with the -h or --help option, which will provide output as shown below. Running the script without specifying a .eb file will also generate this output.

The usage description at the top specifies build.py because eb is just a wrapper around easybuild/build.py, which updates the PYTHONPATH to ensure that EasyBuild can work as expected.

Usage: build.py [options] easyconfig [..]

Builds software package based on easyconfig (or parse a directory). Provide
one or more easyconfigs or directories, use -h or --help more information.

Options:
  -h, --help            show this help message and exit

  Basic options:
    Basic runtime options for EasyBuild.

    -b BLOCKS, --only-blocks=BLOCKS
                        Only build blocks blk[,blk2]
    -d, --debug         log debug messages
    -f, --force         force to rebuild software even if it's already
                        installed (i.e. can be found as module)
    --job               will submit the build as a job
    -k, --skip          skip existing software (useful for installing
                        additional packages)
    -l                  log to stdout
    -r PATH, --robot=PATH
                        path to search for easyconfigs for missing
                        dependencies
    --regtest           enable regression test mode
    --regtest-online    enable online regression test mode
    -s STOP, --stop=STOP
                        stop the installation after certain step (valid: cfg,
                        source, patch, prepare, configure, make, install,
                        test, postproc, cleanup, packages)
    --strict=STRICT     set strictness level (possible levels: ignore, warn,
                        error)

  Software build options:
    Specify software build options (overrides settings in easyconfig).

    --software-name=NAME
                        build software package with given name
    --software-version=VERSION
                        build software with this particular version
    --toolkit=NAME,VERSION
                        build with specified toolkit (name and version)
    --toolkit-name=NAME
                        build with specified toolkit name
    --toolkit-version=VERSION
                        build with specified toolkit version
    --amend=VAR=VALUE[,VALUE2]
                        specify additional build parameters (can be used
                        multiple times); for example: versionprefix=foo or
                        patches=one.patch,two.patch

  Override options:
    Override default EasyBuild behavior.

    -C CONFIG, --config=CONFIG
                        path to EasyBuild config file [default:
                        $EASYBUILDCONFIG or easybuild/easybuild_config.py]
    -e CLASS, --easyblock=CLASS
                        loads the class from module to process the spec file
                        or dump the options for [default: Application class]
    -p, --pretend       does the build/installation in a test directory
                        located in $HOME/easybuildinstall [default:
                        $EASYBUILDINSTALLDIR or installPath in EasyBuild
                        config file]
    -t, --skip-tests    skip testing

  Informative options:
    Obtain information about EasyBuild.

    -a, --avail-easyconfig-params
                        show available easyconfig parameters
    --dump-classes      show list of available classes
    --search=SEARCH     search for module-files in the robot-directory
    -v, --version       show version
    --dep-graph=depgraph.<ext>
                        create dependency graph
### Basic options

Only build specified blocks: -b/--only-blocks

Log debug messages: -d/--debug

Force rebuild: -f/--force

Submit build as a job: --job

Skip existing software: -k/--skip

Log to standard output: -l

Search path for easyconfig files: -r/--robot

Enable regression test mode: --regtest

Enable online regression test mode: --regtest-online

Stop installation after a certain step: -s/--stop

Set strictness level: --strict

### Software build options

Specify name of software to build: --software-name

Specify version of software to build: --software-version

Specify name of toolkit to build with: --toolkit-name

Specify version of toolkit to build with: --toolkit-version

Specify additional build parameters: --amend

### Override options

EasyBuild configuration file: -C/--config

Specify easyblock/class to build with: -e/--easyblock

Peform installation in a test directory: -p/-pretend

Skip testing: -t/--skip-tests

### Informative options

Show available easyconfig parameters: -a/--avail-easyconfig-params

Show list of available classes/easyblocks: --dump-classes

Search for module files in robot directory: --search

Show EasyBuild version: -v/--version

Create dependency graph: --dep-graph

Clone this wiki locally