Hi Alan, great, many thanks! It works as described now. Cheers,
-Frank From: [email protected] <[email protected]> On Behalf Of Alan O'Cais Sent: Tuesday, 15 November 2022 13:49 To: [email protected] Subject: Re: [easybuild] CategorizedHMNS: easybuild installation method Hi Frank, I had a copy/paste typo in line 142, fixed now in the gist. Alan On Sun, 13 Nov 2022 at 21:37, Heckes, Frank <[email protected] <mailto:[email protected]> > wrote: Hello Alan, I added the SitePackage.lua to my environment (see below), but always get the following error: heckes:~/lmodhooks> module cat /usr/bin/lua5.3: error loading module 'SitePackage' from file '/home/heckes/lmodhooks/SitePackage.lua': /home/heckes/lmodhooks/SitePackage.lua:142: syntax error near '=' stack traceback: [C]: in ? [C]: in function 'require' /usr/local/lmod/lmod/libexec/utils.lua:1051: in function 'initialize_lmod' /usr/local/lmod/lmod/libexec/lmod:357: in function 'main' /usr/local/lmod/lmod/libexec/lmod:582: in main chunk [C]: in ? I don’t see an error in the SitePackage.lua file (Also tried different option to download and store the file) The installed ‘OS’ RPM for lua version 5.3. seems to work without the SitePackage.lua file. Do you have any idea? Cheers, -Frank LMOD RTE: °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Installation done from the cloned TACC git repo using ./configure --prefix=/usr/local --with-lua_include=ans heckes:~/lmodhooks> module --version Modules based on Lua: Version 8.7.14 (8.7.14-6-ge594a373) 2022-11-01 10:59 -05:00 by Robert McLay [email protected] <mailto:[email protected]> heckes:~/lmodhooks> echo $LMOD_PACKAGE_PATH /home/heckes/lmodhooks heckes:~/lmodhooks> mv hurz SitePackage.lua heckes:~/lmodhooks> module --version /usr/bin/lua5.3: error loading module 'SitePackage' from file '/home/heckes/lmodhooks/SitePackage.lua': /home/heckes/lmodhooks/SitePackage.lua:142: syntax error near '=' stack traceback: [C]: in ? [C]: in function 'require' /usr/local/lmod/lmod/libexec/utils.lua:1051: in function 'initialize_lmod' /usr/local/lmod/lmod/libexec/lmod:357: in function 'main' /usr/local/lmod/lmod/libexec/lmod:582: in main chunk [C]: in ? From: [email protected] <mailto:[email protected]> <[email protected] <mailto:[email protected]> > On Behalf Of Alan O'Cais Sent: Thursday, 10 November 2022 12:34 To: [email protected] <mailto:[email protected]> Subject: Re: [easybuild] CategorizedHMNS: easybuild installation method Here's what some output looks like from using that hook: [ocaisa@gpunode1 hier]$ module cat To get a list of every module in a category execute: $ module category Foo ------------------------------------------------------------- List of Categories -------------------------------------------------------------- Catchall: This is everything │ ├──Develop: This is develop │ │ ├──Tools: This is tools │ │ │ ├──MPI: This is MPI │ ├──Math: This is math │ │ ├──Eigen: This is eigen [ocaisa@gpunode1 hier]$ module cat develop tools To learn more about a package and how to load it execute: $ module spider Bar ------------------------------------------------------------------- Develop ------------------------------------------------------------------- scikit-build (1) └─MPI/OpenMPI (1) └─Tools/FFTW (1) └─Tools/scikit-build (1) -------------------------------------------------------------------- Tools -------------------------------------------------------------------- FFTW (1) scikit-build (1) └─MPI/OpenMPI (1) On Thu, 10 Nov 2022 at 12:30, Alan O'Cais <[email protected] <mailto:[email protected]> > wrote: Hi Frank, On Thu, 10 Nov 2022 at 11:42, Heckes, Frank <[email protected] <mailto:[email protected]> > wrote: The EB hook injecting categories into lmod would be really great thing to have. To be clear, the EasyBuild hook would be a parser hook that would inject something like `categories=['Tools','Develop']` into the easyconfig instance. With support for `categories` in EasyBuild, this would result in `whatis("Category: Tools, Develop")` being injected into the final module file (which is something that _only_ Lmod understands right now). Sorry, if I might have overlooked it, but I would be very interested to have a look at the lmod – hook you implemented for the lmod subcategories. Could you please share a link, if it’s ‘git-able’? I sent a link to the Lmod hook already, but just in case https://gist.github.com/ocaisa/3a72804123923fbd753c1cae12261d9c (requires Lmod 8.7.14, and modules that already include some `Category`ies). One thing about the EB installation for plain HMNS. The module method to install EB instead of utilizing pip is perfectly fine? (as long as the environment is set-up correctly) Yes, that's fine. There's no link between how EB was installed and what module naming scheme you want to use. Alan Cheers, -Frank From: [email protected] <mailto:[email protected]> <[email protected] <mailto:[email protected]> > On Behalf Of Alan O'Cais Sent: Wednesday, 9 November 2022 17:27 To: [email protected] <mailto:[email protected]> Subject: Re: [easybuild] CategorizedHMNS: easybuild installation method Hi Frank, CategorizedHMNS is not widely used (as far as I know) so you there may be some issues lurking there. Plain HMNS is much more widely used and I'd say a better choice. Additionally there's a new feature in Lmod that just got released that allows us to define multiple categories inside a module file (EasyBuild currently only allows one "moduleclass"). I haven't added support for it yet in EB but it's something I want to look at really soon. The plan would be that you use an EB hook to inject the categories that you want for a piece of software (based off some mapping that you store). This would add the categories to the module file and then you use Lmod to search for software based on categories. You use `module cat` to see available categories, `module cat <category name>` to show software in a category and then `module spider <software name>` to see how to load (versions of) that software (including any gateway modules). You can also use Lmod hooks with categories, for example I can imagine wanting to hide modules of a certain category for users in certain groups. Personally, I've implemented an Lmod hook that allows me to have subcategories so I can implement a complete taxonomy. Hope that helps, Alan On Wed, 9 Nov 2022 at 16:37, Heckes, Frank <[email protected] <mailto:[email protected]> > wrote: Hi all, The latest and also the previous tutorials recommends upon using HMNS: ‘. . . We strongly recommend using an EasyBuild installation that was <https://easybuilders.github.io/easybuild-tutorial/2022-isc22/installation/#method-1-using-pip-recommended> installed via "pip install" or "pip3 install" in this part of the tutorial. . . .’ (in <https://easybuilders.github.io/easybuild-tutorial/2022-isc22/module_naming_schemes/> https://easybuilders.github.io/easybuild-tutorial/2022-isc22/module_naming_schemes/) Does the recommendation also apply to ‘production’ environments or is this only a didactical safety set-up to avoid the clashes resulting from eventually existing installation with flat namespace or other modules? My question is, can I use the module installation procedure for CategorizedHMNS builds without running into problems, as long as I follow the donts described in the page above ? Many thanks in advance. Cheers, -Frank Heckes
smime.p7s
Description: S/MIME cryptographic signature

