Hi Jack,
On 18/06/14 16:42, Jack Perdue wrote:
Howdy all,

I have a tree of software/modules built
with easybuild.

I'd like to play with a module hierarchy
like Lmod recommends.  But I don't want
to recompile the entire software tree.

Is there a way to tell eb to not bother
building the software, but to simply run
the module creation step...  something like
rpmbuild's --short-circuit option?

I've tried various combinations of the
--skip option but haven't had any luck.

Basically I want to exclude these steps
(from "eb --confighelp"'s note on --skip)

fetch, ready, source, patch, prepare, configure, build, test, install, 
extensions, package, postproc, sanitycheck, cleanup, testcases

and only run "module".

Any pointers appreciated.
It's actually very easy: just use both --skip and --force.

With --skip, you will skip the whole build procedure (from fetch to postproc), but it will do the others (which should be fine generally). You have to use --force since EasyBuild will already fine the module, and you have to tell it to 'redo' the build (the --skip will actually prevent it from rebuilding again).

$ module av bzip2
$ time eb bzip2-1.0.6.eb > /dev/null
eb bzip2-1.0.6.eb > /dev/null  4.02s user 1.01s system 177% cpu 2.826 total

$ ls -l /Users/kehoste/.local/easybuild/modules/all/bzip2/1.0.6
-rw-r--r-- 1 kehoste staff 1206 Jun 19 08:36 /Users/kehoste/.local/easybuild/modules/all/bzip2/1.0.6

$ time eb bzip2-1.0.6.eb --skip --force > /dev/null
eb bzip2-1.0.6.eb --skip --force > /dev/null 0.98s user 0.67s system 102% cpu 1.607 total

$ ls -l /Users/kehoste/.local/easybuild/modules/all/bzip2/1.0.6
-rw-r--r-- 1 kehoste staff 1206 Jun 19 08:37 /Users/kehoste/.local/easybuild/modules/all/bzip2/1.0.6

Note that the second time eb took only 1s, basically because it only redid the sanity check and the module generation.

This is typically used when adding additional extensions, e.g. when installing an extra R library into an existing R module.

That being said, we should probably look into adding support for something like "eb --redo-module" to make this a no-brainer (we're kind of abusing --force here, which is a bad thing to teach people ;-)).


Several people are looking into playing around with hierarchical modules, see e.g. https://github.com/hpcugent/easybuild-framework/issues/862 . There are a couple of open issues that need to be tackled to do things right.

In fact today/tomorrow this is one of the things we will focus on during the 6h EasyBuild hackathon!

One good location to stay up to date w.r.t. that effort in the #easybuild IRC channel, since several people attending the hackathon will be hanging out there. More information via https://github.com/hpcugent/easybuild/wiki/Contact#irc .


regards,

Kenneth

Reply via email to