Although we wold love to use EB in production there is still one thing that
stops us from doing so. Since we need to keep the modules list in Lmod as clean
as possible it is essential for us to be able to tell EB to automatically look
for dependencies within hidden modules even if not explicitly listed as
hiddendependencies in the easyconfig files. Let me show you with the case I am
I want to install GCC but keep the GCCcore module hidden. As you can see from
the output below if I ask to hide GCCcore it gets built twice and two modules
get generated: one hidden and one visible. My understanding is that it happens
because when rebuilding all dependencies with GCCcore (instead of the system
GCC) they don't have GCCcore within a hiddendependencies list and since EB does
not automatically scan for hidden modules it builds GCCcore again. Am I right?
If so, is there any chance we will see such feature (maybe not by default but
as an eb option flag) in the future?
If not, what would you suggest? Obviously I could manually edit all easyconfig
files by adding the hiddendependencies but that may be quite annoying in the
In addition, what do you think about being able to specify the "hide-deps" list
directly into the easyconfig?
$ eb GCC-5.4.0-2.26.eb -D --hide-deps=M4,Bison,flex,zlib,binutils,GCCcore
== temporary log file in case of crash /tmp/eb-bLnY30/easybuild-wrqlUH.log
Dry run: printing build status of easyconfigs and dependencies
* [ ] $CFGS/m/M4/M4-1.4.17.eb (module: Core | M4/.1.4.17)
* [ ] $CFGS/b/Bison/Bison-3.0.4.eb (module: Core | Bison/.3.0.4)
* [ ] $CFGS/f/flex/flex-2.6.0.eb (module: Core | flex/.2.6.0)
* [ ] $CFGS/z/zlib/zlib-1.2.8.eb (module: Core | zlib/.1.2.8)
* [ ] $CFGS/b/binutils/binutils-2.26.eb (module: Core | binutils/.2.26)
* [ ] $CFGS/g/GCCcore/GCCcore-5.4.0.eb (module: Core | GCCcore/.5.4.0)
* [ ] $CFGS/g/GCCcore/GCCcore-5.4.0.eb (module: Core | GCCcore/5.4.0)
* [ ] $CFGS/z/zlib/zlib-1.2.8-GCCcore-5.4.0.eb (module: Compiler/GCCcore/5.4.0
* [ ] $CFGS/m/M4/M4-1.4.17-GCCcore-5.4.0.eb (module: Compiler/GCCcore/5.4.0 |
* [ ] $CFGS/b/Bison/Bison-3.0.4-GCCcore-5.4.0.eb (module:
Compiler/GCCcore/5.4.0 | Bison/.3.0.4)
* [ ] $CFGS/f/flex/flex-2.6.0-GCCcore-5.4.0.eb (module: Compiler/GCCcore/5.4.0
* [ ] $CFGS/b/binutils/binutils-2.26-GCCcore-5.4.0.eb (module:
Compiler/GCCcore/5.4.0 | binutils/.2.26)
* [ ] $CFGS/g/GCC/GCC-5.4.0-2.26.eb (module: Core | GCC/5.4.0-2.26)
== Temporary log file(s) /tmp/eb-bLnY30/easybuild-wrqlUH.log* have been removed.
== Temporary directory /tmp/eb-bLnY30 has been removed.
Davide Vanzo, PhD
Adjunct Assistant Professor of Chemical and Biomolecular Engineering
Advanced Computing Center for Research and Education (ACCRE)
Vanderbilt University - Hill Center 201