-
Notifications
You must be signed in to change notification settings - Fork 0
Using EasyBuild
(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.
Recommend basic usage, by supplying an easyconfig file:
$EBHOME/eb example.ebWith supplying an easyconfig file (not recommended, more likely to fail):
$EBHOME/eb --software-name=gzipEasyBuild 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.
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