Hi Arnau,

Welcome to the wonderful world of EasyBuild! :-)


On 01/07/14 12:05, Arnau Bria wrote:

I think the dependencies are not being resolved because maybe you are
not using --robot option? Just try the same command line just adding
--robot or -r and let us know if it works.

Yes, this should help. Using --robot (or -r for short) enables the dependency resolution in EasyBuild.

We should make the error message when it is not being used clearer, so people don't trip over this.

Hopefully coming soon...

Tried with --robot and "default" easyconfig directory:

$ eb -r 
/software/as/el6.3/EasyBuild/software/EasyBuild/1.13.0/lib/python2.6/site-packages/easybuild_easyconfigs-1.13.0.0-py2.6.egg/easybuild/easyconfigs
 OpenBLAS-0.2.6-gompi-1.4.10-LAPACK-3.4.2.eb
== temporary log file in case of crash 
/tmp/easybuild-VrI3sw/easybuild-vcmGss.log
== resolving dependencies ...
ERROR: EasyBuild encountered an exception (at 
easybuild/framework/easyconfig/easyconfig.py:865 in process_easyconfig): Failed 
to process easyconfig 
/software/as/el6.3/EasyBuild/software/EasyBuild/1.13.0/lib/python2.6/site-packages/easybuild_easyconfigs-1.13.0.0-py2.6.egg/easybuild/easyconfigs/o/OpenMPI/OpenMPI-1.6.4-GCC-4.7.2.eb:
EasyBuild crashed with an error (at 
easybuild/framework/easyconfig/easyconfig.py:359 in validate_os_deps): One or 
more OS dependencies were not found: [('libibverbs-devel',)]

EasyBuild knows that it requires libibverbs for the 'standard' OpenMPI build which is configured with "--with-openib", so it checks on that.

If you're on a system that doesn't provide the IB libraries, then use a no-OFED toolchain (or another one that doesn't use OpenMPI).

Note that you don't need to specify a path to --robot; EasyBuild should be able to figure out the path to the installed easyconfig files itself. Providing a path is only useful when you want to provide your own set of easyconfigs to EasyBuild as well, for resolving dependencies.



* I guess that the easyconfigs dir contain the same as
   https://pypi.python.org/pypi/easybuild-easyconfigs


in the step by step guide I was building GCC-4.6.3.eb and
OpenMPI-1.4.5-no-OFED.eb with GCC 4.6.3. Now woth teh robot option it tries to 
use openMPI 1.6.4 with gcc 4.7.2 ....

am I understanding correctly what it is trying to do ?

This is just because gompi-1.4.10 contains GCC 4.7.2 and OpenMPI 1.6.4.

You can check what EasyBuild will be doing using --dry-run or -D .


* I've read eb help but I cannot find how to check what is gompi
1.4.10 supposed to load . Is there any command available? (googlgin I
found the module file for the toolchain

The easiest way is checking with --dry-run. Or, you can also use --search (or -S) to find the gompi easyconfig file on your system, so you can check it's contents.



So, with your recommendation I'm building gompi-1.4.10:


$  eb -r 
/software/as/el6.3/EasyBuild/easyconfig/website/easybuild-easyconfigs-1.13.0.0 
./website/easybuild-easyconfigs-1.13.0.0/easybuild/easyconfigs/g/gompi/gompi-1.4.10-no-OFED.eb
== temporary log file in case of crash 
/tmp/easybuild-3c0Yyu/easybuild-JVEdBM.log
== resolving dependencies ...
== processing EasyBuild easyconfig 
/software/as/el6.3/EasyBuild/easyconfig/website/easybuild-easyconfigs-1.13.0.0/easybuild/easyconfigs/g/GCC/GCC-4.7.2.eb
== building and installing GCC/4.7.2...
== fetching files...
== creating build dir, resetting environment...
== unpacking...

let's see if it works and I finally get the gompi toolchain :-)

It should. If not, it's a bug, and we'll try and fix it. ;-)

Note that once you've obtained the gompi toolchain (and probably eventually a goolf toolchain too, which provides OpenBLAS, FFTW, etc. on top of gompi), you can easily build stuff with even when no easyconfig using that exact toolchain is available yet, using the --try-toolchain option.

Just for fun, try this:

eb WRF-3.5-goolf-1.4.10-dmpar.eb --try-toolchain=goolf,1.4.10-no-OFED --robot --dry-run


Note that you won't find a readily available easyconfig for WRF with the goolf/1.4.10-no-OFED toolchain (see "eb -S WRF").

Of course, only build WRF when you actually care about it. ;-)

by the way, if you are starting with easybuild from scratch and you
are not using any modules tool in your cluster I would highly
recommend you to use Lmod instead of tcl modules
https://www.tacc.utexas.edu/tacc-projects/lmod
Thanks! I already took a look at it and commented it with a couple of EB
developers :-)

https://github.com/hpcugent/easybuild/issues/29#issuecomment-47337096

I'll migrate soon :-)

Let us know how that works out! And if you run into problems, contact the lmod-users mailing list, it's very responsive and the main Lmod developer will help you out in case of problems.


regards,

Kenneth

Reply via email to