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 
struggling with.

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 
long term.

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 
| zlib/.1.2.8)
* [ ] $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 
| flex/.2.6.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
Application Developer
Adjunct Assistant Professor of Chemical and Biomolecular Engineering
Advanced Computing Center for Research and Education (ACCRE)
Vanderbilt University - Hill Center 201

Reply via email to