Kenneth, Thanks for the complete reply.
Bootstrap is working for me, thanks, However, my first foray into this has me into a sticky wicket. Can you advise me please on the following: goolf-1.6.10.eb is the most recent goolf toolchain installed with bootstrap ( https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/g/goolf/goolf-1.6.10.eb ) It includes OpenBLAS v 0.2.8 However, OpenBLAS v 0.2.8 fails to build on my architecture (in the code that wants to conclude that CORE=sandybridge) Gladly, OpenBLAS v 0.2.13 succeeds (built standalone by hand). So does v 0.2.12 So, I think my goal should now be to define a new toolchain that incorporates OpenBLAS 0.2.13 or 0.2.12 However, I am not (yet) versed in the dependencies between the various versions of the components of goolp, and fear I may make a novice mistake in crafting a new goolf tool chain. Scouting around, I see the following easyconfig, which suggests a compatible version of GCC/OpenBLAS/LAPACK. So, I try to build: eb OpenBLAS-0.2.12-GCC-4.9.2-LAPACK-3.5.0.eb which reveals again my ignorance as I get error: "Exception: No module found for toolchain name 'GCC' (4.9.2)" (despite there indeed being an GCC-4.9.2.eb Can you provide me a push in the right direction here. Should I instead proceed to: 1) create a new toolchain, say goolf-1.6.12.eb, based on 1.6.10, but with blastver=0.2.12 # isntead of 0.2.8 comp_version = '4.9.2' # instead of '4.8.2 blassuff = '-LAPACK-3.5.0' # instead of -LAPACK-3.4.2 I try this be learn: ERROR: EasyBuild crashed with an error (at easybuild/tools/robot.py:232 in resolve_dependencies): Irresolvable dependencies encountered: OpenMPI/1.7.3-GCC-4.9.2, OpenBLAS/0.2.12-gompi-1.6.12-LAPACK-3.5.0, FFTW/3.3.3-gompi-1.6.12, ScaLAPACK/2.0.2-gompi-1.6.12-OpenBLAS-0.2.12-LAPACK-3.5.0 Can you suggest what other .eb I am going to have to build with corresponding changes, or, am I barking up the wrong tree here. If you have reference to any guidelines for compatibility in the GNU goolf toolchain, or examples of how to simply change the `blasver` through a hierarchy of interdependent toolchains???? Thanks, Malcolm Cook However, ~ Malcolm Cook h: 913.642.5257 m: 913.226.1542 w: 816.926.4449 On Mon, Feb 9, 2015 at 4:31 PM, Kenneth Hoste <[email protected]> wrote: > Hi Malcolm, > > First of all: let me apologize for not getting back to you in some of the > issues you've replied to on the EasyBuild GitHub repository. > Your messages have been burning a hole in my inbox, but I didn't get to > responding to them yet... > > On 09/02/15 22:49, Cook, Malcolm wrote: > > Hi, > > > > I am currently learning EasyBuild/Lmod and strategizing for deployment to > a common network shared mountpoint, say $HPCBC, for use by about > half-dozen HPC linux running CentOS7. > > > > I wonder if there is any information that would help me with pros/cons on > waiting for EB 2.x before deployment, such as: > > intended scope of changes > > intended backward compatibility (should all existing > modules 'just work') > > ETA for first release intended for general availability > (non-beta) > > > EasyBuild v2.0 is going to include a couple of backward-incompatible > changes (hence the major version bump), but most of these changes shouldn't > affect users new to the tool. > > All the easyblocks and easyconfigs files included in EasyBuild v1.16.1 > will still work with EasyBuild v2.0, since non of them are relying on > deprecated functionality for which support will be dropped in EasyBuild > v2.0. > For all details w.r.t. backwards-incompatible changes, see > http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html . > > There are a couple of other major changes we're planning on including in > EasyBuild v2.0, i.e., to stop including a copy of the vsc-base Python > package that serves as a base for the EasyBuild framework and use it as a > proper dependency instead, and dropping support for Python 2.4.x in favor > of Python 2.6.x. > In practice, these changes should not affect end users (assuming your > system Python is 2.6 or a newer Python 2 version). > > A detailed overview of the (major) changes being made in EasyBuild v2.0 is > available at https://github.com/hpcugent/easybuild-framework/issues/1000, > which also provides an up-to-date status of the progress being made. > > In terms of planning: EasyBuild was planned to be the first release in > 2015, and we're sticking to that (i.e. there will be no further releases on > the 1.x branch). > > I was hoping to push out EasyBuild v2.0 last week, in time for the 8th > EasyBuild hackathon which is running in Basel this week (see > https://github.com/hpcugent/easybuild/wiki/8th-EasyBuild-hackathon), but > I didn't manage to get it ready (and I didn't want to rush it out either). > > So, it'll probably be shifted more towards the end of this month, since > I'll be busy with the hackathon this week, and will have other stuff to > attend to once I'm back at the office. > > > > Also, I am somewhat struggling with my EB 1.x evaluation/testing (also on > CentOS7) and wonder about relative value of using the various installation > methods, being > > > > 1) python bootstrap_eb.py $HPCBC/easybuild # currently yields version > 1.16.1 > > 2) pip install --install-option "--prefix=${HPCBC}/EasyBuild" easybuild > > 3) > > > > pip install --install-option "--prefix=1.16.1" easybuild > > b) pip install --install-option "--prefix=1.16.1" > easybuild > > > > My impression is that the advantage of using the bootstrap procedure is > that it builds a 'module' file. Is there more that I am missing? > > If the bootstrap procedure works for you, and you're happy with using > EasyBuild by loading it as a module, I would recommend that approach. > > If you want EasyBuild installed on the system directly so you can use it > without having to load a module, you can resort to the standard Python > installation tools like easy_install or pip. > > The main reason we introduced the bootstrap procedure is because the > standard Python installation tools tend to be quite quirky, depending on > how they were installed or configured... Pro tip: stay away from using the > "--user" install option... > > > > Finally, I have the following observations about the install that I hope > you find worthy additions to your installation documentation: > > > > xmlrunner is python module optionally used by eb boostrap > unit test which allows them to run faster! NB - in my hands the test > results are DIFFERENT if present - perhaps a "bad thing". Can be > installed with: `pip install xmlrunner` -- add to > http://easybuild.readthedocs.org/en/latest/Installation.html#optional-dependencies > > > Thanks for bringing this up. xmlrunner should be entirely optional. I > wasn't aware that it can make the test results run faster... Do you have > any more details there? > > There are some known issues w.r.t. robustness of the unit tests, which we > hope to fix in EasyBuild v2.0 (see also the references in > https://github.com/hpcugent/easybuild-framework/issues/1000). > > Do you have more details to share on which unit tests are failing for you? > Maybe include the output you're getting in a gist (https://gist.github.com > ) > > > > tcl need be installed (in my experience) (regardless of > whether Tcl/C environment modules are to be used - i.e. even if only Lmod > is to be used) - add to > http://easybuild.readthedocs.org/en/latest/Installation.html#requirements > > Yes, tclsh is required even if you're using Lmod, because (for now) > EasyBuild only supports generating module files in Tcl syntax, and Lmod > needs tclsh to be able to translate Tcl to Lua on the fly. > > Lmod will now also complain if tclsh is missing and it was configured to > be able to consume Tcl module files, since we reported this issue to Robert > McLay, the Lmod maintainer. > > We will also mention this in the documentation, as you suggest. > > > > if Lua is built and installed in a non standard location, > LUA_ROOT should be redefined accordingly, for example: > > > sed -i '/#define > LUA_ROOT/s:/usr/local/:${INSTALL_TOP}/:' > src/luaconf.h > > > This is an Lmod issue, but: i) lua should be available in $PATH when > building/installing Lmod, ii) if Lmod also requires lua.h (it depends on > whether you have lua-term available on your system or not), you can point > to its location using the --with-lua-include configure option. > > There is a known issue in Lmod 5.8.6 w.r.t. finding lua.h in the 'make > install' step, which is already fixed in the HEAD version of Lmod in the > GitHub repository (see > https://github.com/TACC/Lmod/commit/ba889b1887d5b7484e420ec1f0dfce372d36e11e > ). > > > Don't hesitate to let us know if you have any further questions or > remarks/suggestions. > > > regards, > > Kenneth >

