Hi Cormac, On 12 Dec 2013, at 19:56, Garvey, Cormac T wrote:
> > Hi All, > Does Easybuild 1.9.0 support lmod with spider cache files enabled? > > When I upgraded to easybuild 1.9.0 and enabled lmod, my GCC compiler build > failed with the following error message. > > == 2013-12-12 10:43:32,072 main.EB_GCC ERROR EasyBuild crashed with an error > (at > easybuild/1.9.0/gcc/opt/lib/python2.7/site-packages/easybuild/framework/easyblock.py:1547 > in sanity_check_step): Sanity check failed: loading fake module failed: > 'Changing environment as dictated by module failed: name \'false\' is not > defined (stdout: os.environ[\'MODULEPATH\'] = > \'/tmp/tmpwxQS14/all:/apps/local/modules/modulefiles:/apps/projects/modules/modulefiles:/hpc-common/software/easybuild/inl-easyconfigs/modules/all:/apps/local/modules/modulefiles/Linux:/apps/local/modules/modulefiles/Core\';\nfalse\n, > stderr: \nLmod has detected the following error: Did not find: > GCC/4.7.3\n\nTry: "module spider GCC/4.7.3"\n\n)' > > It looks like lmod could not find the generated modulefile GCC/4.7.3, even > though I confirmed it was located in '/tmp/tmpwxQS14/all. > lmod will probably not locate the module without updating the lmod spider > cache (I have a bash script to do this)? > > Has anyone using easybuild+lmod come across this problem, how did you fix it? > I was thinking of modifying the gcc easyblock to source the bash > script(update spider cache) after the modulefile is created? Are you using Lmod v5.2 in this case? If so, the problem is already fixed in our develop branches, soon to be EasyBuild v1.10 (sometime next week, hopefully). See https://github.com/hpcugent/easybuild-framework/pull/780 for all the details. To make it work with EasyBuild v1.9.0, try setting $LMOD_IGNORE_CACHE to 1 (or anything not 0); note: only supported in Lmod v5.2. Modifying the GCC easyblock may help for GCC, but you'll run into this problem with other builds too... We feel that updating the spider cache isn't something that EasyBuild should be doing, so in EasyBuild v1.10 we'll be setting $LMOD_IGNORE_CACHE so users don't have to (and thus, we've bumped the minimal required version of Lmod to v5.2). This might make things a bit slower (in particular "module avail"), but that's probably the least of your worries when building software... Let us know if this helps... regards, Kenneth > > Thanks, > Cormac. > > > On Thu, Dec 5, 2013 at 2:21 AM, Kenneth Hoste <[email protected]> wrote: > Hi Cormac and Pablo, > > A PR with a fix for both #772 and #773 is now available, see > https://github.com/hpcugent/easybuild-framework/pull/780 . > > Cormac: EasyBuild want allow you to use 5.2rc4, but you shouldn't either, > because it still contains a bug that EasyBuild bumps into. > > From the unit tests, with Lmod 5.2rc4 on top of PR #780: > > EasyBuildError: 'EasyBuild crashed with an error (at > easybuild/tools/modules.py:663 in update): An error occured when running > \'spider -o moduleT > /Users/kehoste/work/easybuild-framework/test/framework/modules\': \nLmod has > detected the following error: > /Users/kehoste/work/easybuild-framework/test/framework/modules/GCC/.modulerc: > (GCC/.modulerc): invalid command name "module-version"\n' > > So, Lmod 5.2rc4 has trouble with .modulerc files, it seems. This problem does > not occur with Lmod 5.2 though. > The PR makes sure you're using Lmod 5.2 or more recent (5.2rc's are not > accepted). > > > regards, > > Kenneth > > On 05 Dec 2013, at 10:03, Pablo Escobar Lopez wrote: > > > the bug is reported. quick woraround is upgrade to latest lmod stable > > release > > https://github.com/hpcugent/easybuild-framework/issues/772 > > > > you should also check this one > > https://github.com/hpcugent/easybuild-framework/issues/773 > > > > > > > > 2013/12/5 Garvey, Cormac T <[email protected]> > > > > Hi all, > > I have lmod 5.2rc4 installed and I am trying to upgrade my easybuild to > > 1.9.0. > > > > I get the following message "Failed to determine Lmod version", here is the > > debug output from the log file. > > > > > > == 2013-12-04 16:24:50,243 main.filetools INFO Command lmod found at > > /apps/projects/lmod/5.2rc4/gcc-4.5.1/opt/lmod/lmod/libexec/lmod > > == 2013-12-04 16:24:50,244 main.Lmod INFO Full path for module command is > > /apps/projects/lmod/5.2rc4/gcc-4.5.1/opt/lmod/lmod/libexec/lmod, so using it > > == 2013-12-04 16:24:50,244 main.Lmod DEBUG Current MODULEPATH: > > /hpc-common/software/easybuild/inl-easyconfigs/modules/all:/apps/projects/modules/modulefiles:/apps/local/modules/modulefiles/Linux:/apps/local/modules/modulefiles/Core:/apps/local/modules/modulefiles > > == 2013-12-04 16:24:50,244 main.Lmod DEBUG Adjusted LD_LIBRARY_PATH from > > '/opt/pbs/default/lib' to '/opt/pbs/default/lib' > > == 2013-12-04 16:24:50,244 main.Lmod DEBUG Running module command > > '/apps/projects/lmod/5.2rc4/gcc-4.5.1/opt/lmod/lmod/libexec/lmod python > > update' from /home/garvct > > == 2013-12-04 16:24:50,346 main.Lmod DEBUG Correcting paths in > > LD_LIBRARY_PATH from ['/opt/pbs/default/lib'] to ['/opt/pbs/default/lib'] > > == 2013-12-04 16:24:50,447 main.Lmod ERROR EasyBuild crashed with an error > > (at > > easybuild/1.9.0/gcc/opt/lib/python2.7/site-packages/easybuild/tools/modules.py:602 > > in __init__): Failed to determine Lmod version from > > '/apps/projects/lmod/5.2rc4/gcc-4.5.1/opt/lmod/lmod/libexec/lmod help' > > output: > > LMOD_DEFAULT_MODULEPATH="/apps/projects/modules/modulefiles:/apps/local/modules/modulefiles/Linux:/apps/local/modules/modulefiles/Core:/apps/local/modules/modulefiles"; > > export LMOD_DEFAULT_MODULEPATH; > > MODULEPATH="/hpc-common/software/easybuild/inl-easyconfigs/modules/all:/apps/projects/modules/modulefiles:/apps/local/modules/modulefiles/Linux:/apps/local/modules/modulefiles/Core:/apps/local/modules/modulefiles"; > > export MODULEPATH; > > LMOD_DEFAULT_MODULEPATH="/apps/projects/modules/modulefiles:/apps/local/modules/modulefiles/Linux:/apps/local/modules/modulefiles/Core:/apps/local/modules/modulefiles"; > > export LMOD_DEFAULT_MODULEPATH; > > > > etc > > > > I have not enabled lmod in easybuild before, any ideas why I get this > > error? (Is lmod -v more appropriate to get the lmod version number rather > > than lmod help?) > > > > Thanks, > > Cormac. > > > > > > > > > > > > -- > > Pablo Escobar López > > HPC systems engineer > > Biozentrum, University of Basel > > Email: [email protected] > > Phone: +41 61 267 15 82 > > http://www.biozentrum.unibas.ch > > > > > -- > Cormac Garvey > HPC Software Consultant > Scientific Computing > Idaho National Laboratory > Ph: 208-526-6294 >

