Hi Bart,

On 20 Sep 2013, at 05:34, Bart Verleye wrote:

> Dear All,
> 
> We are testing out easybuild and I've managed to install some software with 
> it, very easily indeed.

Good to hear, and welcome to the wonderful world of EasyBuild. ;-)

> 
> However, I'm trying now to build software which is not yet included in the 
> easybuild configs, e.g. a software with the toolchain gmpich2.
> For that, I need the versions of this toolchain that are available.
> But where can I find these?

The support for a gmpich2 toolchain is available in the framework, but we're 
currently not shipping any easyconfigs for it, that's true.

To be clear: gmpich2 is intended to be a subtoolchain, it should only be used 
(in principal) to construct other toolchains (just like gompi, gmvapich2, ...).
It should be used to construct a gmpolf toolchain, which also includes 
OpenBLAS, LAPACK, FFTW, ...

This is quite involved already, especially because the support for a gmpolf 
toolchain is not yet present in the framework.

The good news is that we have (good, up-to-date) documentation on compiler 
toolchains, see https://github.com/hpcugent/easybuild/wiki/Compiler-toolchains .

If you want to go ahead and tackle this, please do (and make a pull request 
when it's done to contribute it to the EasyBuild codebase).
Let us know if you have questions or if something is not clear, and help out. 
We can set up a Skype session if that would help you more quickly.

> 
> E.g. now I get the error:
> == temporary log file in case of crash /tmp/easybuild-rjNEcI.log
> == resolving dependencies ...
> ERROR: EasyBuild crashed with an error (at easybuild/main.py:545 in 
> resolve_dependencies): Dependencies not met. Cannot resolve [('gmpich2', 
> '1.1.6'), ('libpng', '1.5.13-gmpich2-1.1.6'), ('Python', 
> '2.7.3-gmpich2-1.1.6'), ('zlib', '1.2.7-gmpich2-1.1.6'), ('freetype', 
> '2.4.11-gmpich2-1.1.6')]
> 
> 
> Which version of gmpich2 can I use? In this example, should I provide an eg 
> file for e.g. libpng-1.5.13-gmpich2-1.1.6 myself, or will the robot do that?

For now, you'll need to provide gmpich2-1.1.6 (or gmpolf-x.y.z) easyconfig 
files for the toolchain, software and all the dependencies yourself (or let EB 
do it for you, see below).
If you do that, please contribute them back so others can use them as well if 
they want to.

We have command line options like --try-toolchain that should allow you to do 
that easily, but that doesn't work recursively yet (i.e. it will not 
automagically apply the --try-toolchain to missing dependencies too).

"eb Python-2.7.3-goolf-1.4.10.eb --try-toolchain=gmpich2-1.1.6" will look for 
the goolf easyconfig file for Python, and rewrite it for the gmpich2-1.1.6 
toolchain before performing the build.

If you list multiple easyconfigs on the command line, the --try-toolchain will 
apply to all of them:

        eb Python-2.7.3-goolf-1.4.10.eb libpng-1.5.13-goolf-1.4.10.eb 
zlib-1.2.7-goolf-1.4.10.eb freetype-2.4.11-goolf-1.4.10.eb 
--try-toolchain=gmpich2-1.1.6

Again, using gmpich directly is probably not what you want, especially not to 
be build Python since that toolchain doesn't include BLAS/LAPACK libraries, 
so the numpy/scipy Python packages that will be build along with Python will be 
very slow (and the build may even fail because a performance test fails).


> I might be missing out on something completely...perhaps a link to the right 
> documentation could help heaps already.

It's basically just a set of missing easyconfig files. We only ship easyconfigs 
for builds we have actually tested...
We have some documentation in place on the wiki 
https://github.com/hpcugent/easybuild/wiki/, but parts of it are out-of-date 
and need a significant amount of love (soon, hopefully, but I keep saying that).


regards,

Kenneth

PS: Any chance you and your colleague will be attending SC'13 in Denver?

Reply via email to